繁体   English   中英

使用自定义简单适配器单击删除并添加一个按钮上的列表项

[英]remove and add the list items on the one button click using custom simple adapter

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

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

这是我的代码:

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();

谢谢 !!

首先在搜索按钮的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();

        }
    });  

在添加新项目之前,请尝试以下操作:

adapter.clear();

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

  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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM