以编程方式替换ListView数组适配器中的字符串数组

时间:2015-06-27 01:07:05

标签: android arrays listview android-listview

我有一个ListView,我使用数组适配器填充了一个字符串数组:{"1","2","3"}

   (ListView) ListOptions = (ListView)findViewById(R.id.ListOptions);
    String[] exampleString = new String[]{"1","2","3"};
    ListAdapter adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,exampleString);
    ListOptions.setAdapter(adapter);

稍后,我希望能够将exampleString更改为exampleString2

{"4","5","6"}

并将带有exampleString2的ListView更新显示为列表选项。

我可以做的事情是:

adapter.ChangeStringArray(exampleString2);
ListView.setAdapter(adapter);

我希望每次更改填充列表项的String数组时都不必创建新的适配器。

1 个答案:

答案 0 :(得分:1)

ArrayAdapter具有管理后备数据阵列的方法。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, new ArrayList<String>());
adapter.addAll(exampleString);
adapter.clear();
adapter.addAll(exampleString2);
adapter.notifyDataSetChanged();