Android ListView программный выбор / выделение - PullRequest
4 голосов
/ 14 января 2010

У меня есть простая настройка просмотра списка и listadapter следующим образом:

listAdapter = new ArrayAdapter<MyDomainObject>(this, android.R.layout.simple_list_item_1, listOfDomainObjects);
listView.setAdapter(listAdapter);

Пользователь делает выбор в списке, который переводит его в другой вид деятельности. Из нового действия они могут щелкнуть свой выбор, который возвращает их к действию со списком выше. Я хочу выделить предыдущий выбор. В настоящее время я нахожу запись в списке соответствия и звоню:

listView.setSelection(matchIndex);

Это приводит их предыдущий выбор к вершине списка. Можно ли выделить (тем оранжевым цветом по умолчанию) предыдущий выбор? Я попытался несколько подходов без удачи.

Ответы [ 2 ]

2 голосов
/ 15 января 2010

То, что у вас есть, хорошо. Однако определение того, выделен ли выбор, определяется тем, использовал ли пользователь сенсорный экран. Если они использовали сенсорный экран более недавно, чем трекбол / D-pad / что-либо еще, устройство находится в «сенсорном режиме», и выделение не отображается.

0 голосов
/ 17 декабря 2017

использовать simple_list_item_activation_1 вы используете простой.

Также, чтобы выделить выбранную строку, используйте этот код

listview.setItemChecked (position, true);

позиция относится к идентификатору строки, которую вы хотите выбрать.

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