我的程序中有多个String数组(我已经制作了单独的适配器)点击按钮我想让listview刷新并显示来自一个数组的内容(因此切换到显示其他数组的内容) )
我如何实现这一目标?
答案 0 :(得分:1)
似乎从你的问题中为每个字符串数组定义了适配器,因此当你想刷新列表视图以加载其他字符串数组时,为新字符串数组设置适配器,并自动更新listview。
就像你有要加载数据的String数组一样:
String[][] array=new String[][]={{"a","b","c"}, {"x", "y","z"}, {"1", "2", "3"}};
声明临时String数组以包含数据源。比如dataSource []。
在onCreate活动方法中,将第一个数组分配给数据源,方法是:
dataSource=array[0];
按如下方式声明适配器:
ArrayAdapter<String> adapter=new ArrayAdapter(this, android.R.layout.simple_list_item_1, dataSource);
将此适配器设置为listView。
按钮更改数据源的onClick方法:
dataSource=array[1];//or other array, to which you want to set as new datasource
然后在适配器上调用notifyDataSetChanged:
adapter.notifyDataSetChanged();
答案 1 :(得分:0)
您可以使用Handler刷新视图。在类Handler的内部方法handleMessage()中,您编写代码以刷新List视图。看看这个例子:http://www.tutorialforandroid.com/2009/01/using-handler-in-android.html
答案 2 :(得分:0)
如果你想在运行时更改适配器,我认为你正在寻找这个:
ListView lv = getListView();
lv.setAdapter(newAdapter);