如何清除 SimpleAdapter 中的元素?
How to clear elements from SimpleAdapter?
我正在尝试在 SET button.As 上填充列表视图 select 值微调器并根据列表进行填充。我面临的问题是我多次点击 SET 按钮,它会将项目添加到列表视图。
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();
}
});
尝试修改 adapter
中某个元素的 list
,然后调用 notifyDataSetChanged()
。
如果你post代码会更容易
您可以在将项目设置到列表视图之前调用 listview.setAdapter(null);
看起来你的列表 mylistData
是一个全局变量。所以,旧项目仍在列表中。
要么在 onClick
方法中将其设为本地,要么在 onClick
方法的第一行将其清除。 (map
也是一样)
public void onClick(View view){
mylistData.clear();
map.clear();
//your code
}
我正在尝试在 SET button.As 上填充列表视图 select 值微调器并根据列表进行填充。我面临的问题是我多次点击 SET 按钮,它会将项目添加到列表视图。
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();
}
});
尝试修改 adapter
中某个元素的 list
,然后调用 notifyDataSetChanged()
。
如果你post代码会更容易
您可以在将项目设置到列表视图之前调用 listview.setAdapter(null);
看起来你的列表 mylistData
是一个全局变量。所以,旧项目仍在列表中。
要么在 onClick
方法中将其设为本地,要么在 onClick
方法的第一行将其清除。 (map
也是一样)
public void onClick(View view){
mylistData.clear();
map.clear();
//your code
}