xml レイアウト ファイルを使用して、ビューのコンテンツをコード内から動的に定義できるかどうかを知りたいです。アクティビティを開始するときに、メソッド呼び出しで使用する xml レイアウトを渡しますsetContentView(R.layout.main);
が、xml レイアウト ファイルを使用して、LinearLayout などの動的に作成された ViewGroup を定義することは可能ですか?
ゲームのスコア テーブルを示すレイアウト xml があります。この画面に表示される各スコアは、コードを介して動的に追加する必要があります。コード内でこのスコアの ViewGroup を作成し、単一のスコアを作成するために必要なすべてのものを入力し、スコアごとに毎回これを行い、それらすべてを既存の UI に追加できることを知っています。 xml レイアウトで既に定義されている構造。私が知りたいのは、これを行うために別のxmlファイルを使用できるかどうかです?
たとえば、レイアウト xml ファイルは次のとおりです。
<LinearLayout android:id="@+id/top">
<LinearLayout android:id="@+id/column_heading"/>
</LinearLayout>
別の xml レイアウト ファイルでは、次のようなものです。
<LinearLayout android:id="@+id/row">
<TextView/>
<TextView/>
<TextView/>
<TextView/>
</LinearLayout>
コード内で、次のようなことをしたいと思います。
LinearLayout top = (LinearLayout)findViewById(R.id.top);
for (int i = 0; i < num_of_rows; i++) {
LinearLayout row = new LinearLayout(this);
row.setContentView(R.layout.row); //where R.layout.row is the second layout above
// ... dynamically change values as needed
top.addView(row);
}
ただし.setContentView(...)
、LinearLayout の有効な方法ではありません。これを行う別の方法はありますか?コードですべてを実行できることはわかっていますが、それはかなり面倒で、この方法は非常にきちんとしていて合理的です..