[英]How to set text to textViews in android using loop
list是一個數組列表。 發生的情況是文本被覆蓋,並始終顯示最后一個值。 清單的大小為4。
for (int i = 0; i < list.size(); i ++){
TextView name = (TextView) convertView.findViewById(R.id.user_names);
name.setText(list.get(i).toString());
TextView email = (TextView) convertView.findViewById(R.id.user_emails);
email.setText(list.get(i).toString());
}
例如,嘗試使用此解決方案:
private int[] food_list_dates = {
R.id.date_1,
R.id.date_2,
R.id.date_3,
R.id.date_4,
R.id.date_5,
R.id.date_6,
R.id.date_7,
R.id.date_8,
R.id.date_9,
R.id.date_10,
R.id.date_11,
R.id.date_12,
R.id.date_13,
R.id.date_14,
};
...
for (int i = 0; i > foodList.size(); i++) {
((TextView) findViewById(food_list_dates[i])).setText( i + "" );
}
只需附加所有內容即可。正如@siddhesh dighe所提到的,不要在循環中使用TextView
初始化。
TextView name = (TextView) convertView.findViewById(R.id.user_names);
TextView email = (TextView) convertView.findViewById(R.id.user_emails);
for (int i = 0; i < list.size(); i ++){
name.append(list.get(i).toString());
email.append(list.get(i).toString());
}
TextView name = (TextView) convertView.findViewById(R.id.user_names);
TextView email = (TextView) convertView.findViewById(R.id.user_emails);
for (int i = 0; i < list.size(); i ++){
name.append(list.get(i).toString());
email.append(list.get(i).toString());
}
嘗試使用append()代替:
TextView name = (TextView) convertView.findViewById(R.id.user_names);
TextView email = (TextView) convertView.findViewById(R.id.user_emails);
for (int i = 0; i < list.size(); i ++){
if(i==0)
{
name.append(list.get(i).toString());
email.append(list.get(i).toString());
}else {
name.append("," + list.get(i).toString());
email.append("," + list.get(i).toString());
}
}
您有一個包含數據的ArrayList
和ListView
,因此您可以將ArrayAdapter
用作listView
並將Arraylist傳遞給它。
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, animalsNameList);
listView.setAdapter(arrayAdapter);
在此處簽出完整教程
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.