0
私はListView
の各項目を異なる視点にする必要がある状況に遭遇しました。たとえば、 の最初の項目はTextView
とImageView
の2つ目の項目はButton
とTextView
です。
最初に、テーブルレイアウトをアイテムアダプタ内にネストして使用していましたが、動作しません。実行時にListViewのさまざまなビューを追加することはできますか?
public View getView(int position, View convertView, ViewGroup parent) {
ItemViewHolder holder;
LayoutInflater inflater = context.getLayoutInflater();
if (convertView == null) {
convertView = inflater.inflate(R.layout.user_activity_item, null);
holder = new ItemViewHolder();
holder.textViewText = (TextView) convertView.findViewById(R.id.user_activity_item_xml_textview_user_name);
holder.textViewText2 = (TextView) convertView.findViewById(R.id.user_activity_item_xml_textview_user_where);
holder.table = (TableLayout) convertView.findViewById(R.id.user_activity_item_xml_tablelayout_activity_table);
convertView.setTag(holder);
}
else {
holder = (ItemViewHolder) convertView.getTag();
}
holder.textViewText.setText(items.get(position));
holder.textViewText2.setText(items.get(position));
// add a new row
TableRow row = new TableRow(context);
row.setLayoutParams(new android.widget.TableRow.LayoutParams(android.widget.TableRow.LayoutParams.FILL_PARENT, android.widget.TableRow.LayoutParams.WRAP_CONTENT));
ImageView i = new ImageView(context);
TextView t = new TextView(context);
t.setText("Some texts");
row.addView(i);
row.addView(t);
holder.table.addView(row, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
return convertView;
}
リストがロードされるたびに、それに応じてテーブルが変更されます。だからアイテムの数は増え続ける。だから私の質問は、このような状況に対処する方法はありますか?実行時に各項目の別のウィジェットを追加できる動的なListView
を作成するにはどうすればよいですか?どんな提案も大歓迎です。
これは完全に機能します。どうもありがとう ;)。 – Chan