【问题标题】:remove and add the list items on the one button click using custom simple adapter使用自定义简单适配器一键删除和添加列表项
【发布时间】:2011-11-22 09:42:57
【问题描述】:

我在列表视图中有一个页脚视图,其中包含一个“搜索”按钮,当我单击“搜索”按钮时,我想删除以前的数据并显示新数据。我正在从 Web 服务获取数据并使用 Async Task 显示列表。 目前我无法删除以前的数据,当我点击“搜索”时,添加到同一列表中的数据会显示新旧数据。

如何刷新列表视图。任何形式的帮助将不胜感激。

这是我的代码:

MySimpleAdapter adapter = new MySimpleAdapter(HSLoc_tabActivity.this, data , R.layout.list_main, 
                    new String[] { "name", "distance" ,"address"}, 
                    new int[] { R.id.item_title, R.id.item_subtitle ,R.id.item_subtitle1 });
            //modeList.setAdapter(adapter);
            //adapter.clear();
            adapter.notifyDataSetChanged();
            listView.setAdapter(adapter);

            listView.invalidate();

谢谢!!

【问题讨论】:

  • 什么是数据?数组列表?

标签: android listview


【解决方案1】:

首先在搜索按钮的 click() 中清除“数据”(String[] 0r ArrayList[]),然后将新信息添加到数据中(String[] 0r ArrayList[]),然后调用适配器的 notifyDataSetChanged()。

举例:

 searchBtn.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
           data.clear(); // I m assuming this is ArrayList..

     // code for getting info from web and add it to data list.   

     adapter.notifyDataSetChanged();

        }
    });  

【讨论】:

  • 感谢您的快速回复..!!
【解决方案2】:

在添加新项目之前试试这个:

adapter.clear();

【讨论】:

    【解决方案3】:

    我已经编辑了您的代码。执行以下操作。

      MySimpleAdapter adapter = new MySimpleAdapter(HSLoc_tabActivity.this, data,
                                   R.layout.list_main, 
                                   new String[] { "name", "distance" ,"address"}, 
                                   new int[] { R.id.item_title, R.id.item_subtitle ,R.id.item_subtitle1 });
     adapter.notifyDataSetChanged();
     listView.invalidateViews();
     listView.setAdapter(adapter);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多