我可以获得建议。
我正在尝试将内容添加到Android中的ListView中。
我传入一个ArrayList类型的String,设置一个适配器来传入该内容,然后将适配器传递给listView。
问题出现在内容确实显示的事实上,但是当我有时间运行活动时,新内容只列在旧内容之上。 e.g。
活动名称
item 1
item 2
---------
item 1 //repeats again but with new content
item 2
item 3
我试过了:
list.setAdapter(null);
arrayAdapter.clear();
arrayAdapter.notifyDataSetChanged();;
这些似乎都不起作用。强制关闭应用程序确实在正确的内容中绘制。
有任何问题请问。
public void fillListView(){
arrayAdapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1,
StartSearch.myList22 ); //fill adapter with content
lv = (ListView)findViewById(R.id.listView2);
lv.setAdapter(arrayAdapter); //feed data to listview
}
每次打开活动时,此方法都会运行,以便刷新内容。
答案 0 :(得分:3)
制作你的
StartSearch.myList22 as a Global variable and
- &GT;当您获得新数据时,请尝试使用您的列表回答以下代码: -
StartSearch.myList22.clear();
StartSearch.myList22.addall(NewList);
- &GT;如果它仍然无法尝试下面的代码: -
StartSearch.myList22.clear();
StartSearch.myList22.addall(NewList);
arrayAdapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1,
StartSearch.myList22 );
lv.setAdapter(arrayAdapter);
-Thanks!〜!
答案 1 :(得分:0)
对不起,让我更具体一点。 我认为您不必将适配器设置为null并清除它
您可以将您设置的数组列表更改为
yourList.clear();
yourList.add(data);
数据集更改后,请致电:
yourAdapter.notifyDataSetChanged();