ListView на фрагмент - PullRequest
       0

ListView на фрагмент

3 голосов
/ 22 июня 2011

Как я могу, нажав на строку ListView (onListItemClick) пометить эту выделенную линию (сохранить нажатой цвет, который по умолчанию желтый)?

Я не на HoneyComb, я использую Android-support-v4.jar jar-совместимость с Android.

Я хочу указать аспект, такой как Gmail на HoneyComb (http://www.youtube.com/watch?v=5swwUeZ0-ww), чтобы вы знали, какой элемент выбран, поскольку он поддерживает синий цвет.

Я думаю, что я хочу сделать, это новое состояние, называемое активированным (на HoneyComb), но .. я хочу сделать это с помощью jar совместимости на других версиях.

Кстати, яиспользование SimpleCursorAdapter для заполнения ListFragment

Спасибо.

Ответы [ 2 ]

2 голосов
/ 24 июня 2011

Я реализовал это в классе адаптера списка. У меня было 2 типа строк в списке: 1 для обычных, невыбранных строк, другой для выбранных строк. Когда пользователь выбирает элемент списка, вы уведомляете адаптер для установки этого элемента «выбранным» и вызываете .notifyDatasetChanged (). В .getView () адаптера вы проверяете, выбран текущий элемент или нет, и надуваете соответствующий макет для этой строки.

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

1 голос
/ 24 июня 2011

используйте следующий код

list.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> arg0, View view, int position, long id) {
        view.setBackgroundColor(Color.WHITE);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...