レイアウトを動的に生成したい。する質問をすることでしか得られない、回答やアドバイスがある。15分調べてもわからないことは、質問しよう!質問するただいまの回答率89.70%トップJavaに関する質問JavaAndroidJavaScriptを有効にしてくださいレイアウトを動的に生成したい。28レイアウトxmlを使用せずに、アプリを作成しようと考えています。最初に以下の様なレイアウトxmlを使ってアプリを作りました。android:text="ここに表示されます。/></LinearLayout>テキスト入力域、ボタン、テキスト表示域があり、テキスト入力域に入力された文字列が、ボタンを押すとテキスト表示域に赤文字で表示されるという簡単なアプリです。次に、レイアウトxmlを使わずに同じアプリを実装してみました。以下の様なプログラムを考えました。レイアウトxmlを使わずに、プログラムで組み立てる。テーブル行をテーブルレイアウトへ。textView.setText("ここに表示されます。}これを動かしてみたところ、テキスト入力域、ボタンは表示されますが、テキスト表示域が表示されません。テキストの表示にはボタンに登録したクリックリスナを使用していますが、リスナ自体はちゃんと動いているのを確認しました。プログラムで動的にレイアウトを生成するにはどうすれば良いのでしょうか。このプログラムに不備があればその箇所を教えて下さい。attachmentクリップ1気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。件sort評価が高い順sort新着順sort古い順linkcheckベストアンサー+11個引っかかるのが、表示域のTextViewを2回addViewしていることくらいですが...テキストの表示にクリックリスナを使っているとのことですが、そうなると表示対象のTextViewはこのクラスのフィールド変数になっているはずですが、リスナはどう設定しているのでしょうか?原因がわかりました。setTextColorは引数にandroid.graphics.Colorクラスの定数を渡すのが主な使い方のようです。そこで定義されているColor.REDを見ると、0xffff0000になっています。あなたのコードでは16進数の上2桁がありません。上2桁は「色の強度」を表す数であったように思います。その値があなたのコードでは0だったので、何も見えない状態になっていたのです。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。17:40すみません、TextViewを2回addしているのはいろいろ試行錯誤していた時のコードを消し忘れていました。このコードがなくても動きは変わりません。(表示されません)リスナはOnClickListenerを自身のクラスに実装し、それをButtonに登録しています。onClickにて、TextViewを参照するのですが、findViewByIdにView.generateViewId()で生成したIDを渡してインスタンスを取得しています。コードの中で、テキストフィールドに「ここに表示されます」という文字列を初期表示させているのですが、そもそもこれも表示されません。addViewに失敗しているのかと思ったのですが、findViewByIdでインスタンスは取れているので単に表示ができていないのだと思うのですが・・・。すみません、TextViewを2回addしているのはいろいろ試行錯誤していた時のコードを消し忘れていました。このコードがなくても動きは変わりません。リスナはOnClickListenerを自身のクラスに実装し、それをButtonに登録しています。onClickにて、TextViewを参照するのですが、findViewByIdにView.generateViewId()で生成したIDを渡してインスタンスを取得しています。コードの中で、テキストフィールドに「ここに表示されます」という文字列を初期表示させているのですが、そもそもこれも表示されません。addViewに失敗しているのかと思ったのですが、findViewByIdでインスタンスは取れているので単に表示ができていないのだと思うのですが・・・。10:56返信ありがとうございます。addViewしてからsetTextしてみましたが、結果は同じでした。プログラムを省略して、以下のようにしてみました。レイアウトxmlを使わずに、プログラムで組み立てる。初期値linearLayout.addView(textView);textView.setText("ここに表示されます。");}「ここに表示されます」が赤字で画面に表示されることを期待しましたが、何も表示されませんでした。そもそもの使い方が間違っているのでしょうか。返信ありがとうございます。addViewしてからsetTextしてみましたが、結果は同じでした。プログラムを省略して、以下のようにしてみました。レイアウトxmlを使わずに、プログラムで組み立てる。textView.setText("ここに表示されます。「ここに表示されます」が赤字で画面に表示されることを期待しましたが、何も表示されませんでした。そもそもの使い方が間違っているのでしょうか。12:22すみません、頂いていた回答をよく見ずに入れ違いで自己解決のコメントを書き込んでしまいました。