我正在尝试在SET按钮上填充listview。当我选择值spinner并根据列表将填充。我面临的问题是很多时候我点击SET按钮它会将项目添加到listview。
setButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
for (int i = 0; i < DeviceID.size(); i++)
{
//initialize row data
for (int j = 0; j < 5; j++) {
if (j == 0)
str = DATE.get(i);
else if (j == 1)
str = TIME.get(i);
else if (j == 2)
str = DeviceID.get(i);
else if (j == 3)
str = SMSTEXT.get(i);
map.put(columnTags[j], str);
}
mylistData.add(map);
}
final String[] columnTags = new String[]{"one", "two", "three", "four", "five", "six", "lat", "log"};
final int[] columnIds = new int[]{R.id.textView5, R.id.textView8, R.id.textView9,R.id.checkbox, R.id.textView10};
arrayAdapter = new SimpleAdapter(this, mylistData, R.layout.location_locator_textview, columnTags, columnIds);
listview.setAdapter(arrayAdapter);
arrayAdapter.notifyDataSetChanged();
}
});
答案 0 :(得分:1)
在将商品设置为listview
之前,您可以致电listview.setAdapter(null);
答案 1 :(得分:1)
您的列表mylistData
看起来像是一个全局变量。因此,旧项目仍在列表中。
在onClick
方法中将其设置为本地,或在onClick
方法的第一行中清除它。 (map
)
public void onClick(View view){
mylistData.clear();
map.clear();
//your code
}
答案 2 :(得分:0)
尝试修改list
中元素的adapter
,然后调用notifyDataSetChanged()
。
如果您发布代码
会更容易