获取列表视图以在各种阵列之间切换以进行显示

时间:2012-03-04 10:08:54

标签: android listview arraylist

我的程序中有多个String数组(我已经制作了单独的适配器)点击按钮我想让listview刷新并显示来自一个数组的内容(因此切换到显示其他数组的内容) )

我如何实现这一目标?

3 个答案:

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