Android 获取listview以在各种阵列之间切换以显示

Android 获取listview以在各种阵列之间切换以显示,android,listview,arraylist,Android,Listview,Arraylist,我的程序中有多个字符串数组(其中我制作了单独的适配器),只要单击一个按钮,我就可以刷新listview并显示一个数组的内容(从而切换到显示其他数组的内容) 如何实现这一点?您可以使用处理程序刷新视图。在类处理程序的handleMessage()方法中,您编写了刷新列表视图的代码。看看这个例子:http://www.tutorialforandroid.com/2009/01/using-handler-in-android.html如果您想在运行时更改适配器,我想您需要的是: ListView

我的程序中有多个字符串数组(其中我制作了单独的适配器),只要单击一个按钮,我就可以刷新listview并显示一个数组的内容(从而切换到显示其他数组的内容)


如何实现这一点?

您可以使用处理程序刷新视图。在类处理程序的handleMessage()方法中,您编写了刷新列表视图的代码。看看这个例子:http://www.tutorialforandroid.com/2009/01/using-handler-in-android.html

如果您想在运行时更改适配器,我想您需要的是:

ListView lv = getListView();
lv.setAdapter(newAdapter);

从您的问题看来,您已经为每个字符串数组定义了适配器,所以当您想刷新列表视图以加载其他字符串数组时,请为新字符串数组设置适配器,然后您的列表视图将自动更新

如果您有要加载数据的字符串数组,则如下所示:

String[][] array=new String[][]={{"a","b","c"}, {"x", "y","z"}, {"1", "2", "3"}};
声明包含数据源的临时字符串数组。比如说dataSource[]

在活动的onCreate方法中,通过以下方式将第一个数组分配给数据源:

dataSource=array[0];
按如下方式声明适配器:

ArrayAdapter<String> adapter=new ArrayAdapter(this, android.R.layout.simple_list_item_1, dataSource);
然后在适配器上调用notifyDataSetChanged:

adapter.notifyDataSetChanged();

我需要将我的listview链接到在xml中创建的listview。。getListView()将如何工作?getListView将获得id为android:id=“@android:id/list”的xml中定义的listView如果您需要使用不同的数组进行相同的操作,只需使用一些临时数组并将此数组设置为适配器的数据源即可,更改此设置,单击按钮将新数据源分配给临时数组,并在适配器上调用notifyDataSetChanged方法如何更改适配器的数据源。我在谷歌上搜索了很多…没有解决办法
adapter.notifyDataSetChanged();