0
나는 각각의 아이템을 서로 다른 시각을 가질 필요가있는 상황으로 도왔다. ListView
. 예를 들어, 첫 번째 항목은 TextView
및 ImageView
일 수 있으며 두 번째 항목은 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