Получение списка для переключения между различными массивами для отображения - PullRequest
2 голосов
/ 04 марта 2012

В моей программе несколько строковых массивов (из которых я сделал отдельные адаптеры), одним нажатием кнопки я хочу обновить представление списка и отобразить содержимое из одного массива (и, следовательно, переключиться на отображение содержимого других массивов). )

Как мне этого добиться?

Ответы [ 3 ]

1 голос
/ 04 марта 2012

кажется из вашего вопроса вы определили адаптер для каждого массива строк, поэтому, когда вы хотите обновить представление списка для загрузки другого массива строк, просто установите адаптер для нового массива строк, и ваш список обновится автоматически.

Например, если у вас есть строковые массивы для загрузки данных:

String[][] array=new String[][]={{"a","b","c"}, {"x", "y","z"}, {"1", "2", "3"}};

Объявите временный массив String для хранения источника данных.say dataSource [].

В методе действия onCreate назначьте первый массив источнику данных:

dataSource=array[0];

Объявите свой адаптер следующим образом:

ArrayAdapter<String> adapter=new ArrayAdapter(this, android.R.layout.simple_list_item_1, dataSource);

set ThisАдаптер для listView.

в методе onClick кнопки измените источник данных с помощью:

dataSource=array[1];//or other array, to which you want to set as new datasource

и затем вызовите notifyDataSetChanged для адаптера:

adapter.notifyDataSetChanged();
0 голосов
/ 04 марта 2012

Если вы хотите изменить адаптеры во время выполнения, я думаю, что вы ищете это:

ListView lv = getListView();
lv.setAdapter(newAdapter);
0 голосов
/ 04 марта 2012

Вы можете использовать обработчик, чтобы обновить вид. Внутри метода handleMessage () класса Handler вы пишете код для обновления представления списка. Посмотрите на этот пример: http://www.tutorialforandroid.com/2009/01/using-handler-in-android.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...