如何清除 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
}