【问题标题】:How to clear elements from SimpleAdapter?如何从 SimpleAdapter 中清除元素?
【发布时间】:2018-04-05 02:42:52
【问题描述】:

我正在尝试在 SET 按钮上填充列表视图。当我选择值微调器时,将根据列表填充。我面临的问题是很多时候我点击 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();
     }
    });

【问题讨论】:

  • 贴出你试过的代码。
  • 您只发布了初始化代码。在您更新适配器的位置发布代码。

标签: android listview simpleadapter


【解决方案1】:

看起来您的列表mylistData 是一个全局变量。所以,旧项目仍在列表中。

要么在onClick 方法中将其设为本地,要么在onClick 方法的第一行将其清除。 (map 也是同样的情况)

public void onClick(View view){
    mylistData.clear();
    map.clear();
    //your code
}

【讨论】:

    【解决方案2】:

    您可以在将项目设置到列表视图之前致电listview.setAdapter(null);

    【讨论】:

    • 我试过了,但不行。因为我的适配器总是有价值@hasbi
    • 你能分享你的代码的set函数和adapter/listview部分吗
    • 我添加了你可以看到这个@hasbi
    【解决方案3】:

    尝试修改adapter中某个元素的list,然后调用notifyDataSetChanged()

    把代码贴出来会更方便

    【讨论】:

      猜你喜欢
      • 2022-01-18
      • 2016-11-23
      • 2023-03-29
      • 2018-10-20
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      相关资源
      最近更新 更多