Android ListView запомнить предыдущий выбранный элемент - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть ListView, заполненный String array.Пользователь выбирает один элемент, и его цвет фона меняется.Теперь пользователь нажимает back button на мобильном телефоне, возвращается к mainActivity и снова возвращается к listviewActivity.Выбранный элемент больше не отображается в listView.

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Вам нужно изменить String[] на ArrayList с двумя новыми элементами вместе со значением String, которое вы указали в Listview

сначала необходимо создать один класс бинов

class Data{

private String colourName;
private String colourCode;//int colourCode
private boolean ;

//make setter and getter methods
}

сделать

List<Data> colourDataList =new  ArrayList<Data>();

использовать выше List с Adapter,

обновить значение флага boolean до true при его выборе.

сохранить объекты данных влюбое хранилище в Android, например

SQLite

SharedPresence

local File

Далее, когда вы загружаете данные в тот же адаптер, берете значение из локальной базы данных и сопоставляете его с новыми данными и устанавливаете ListView Элемент, например, colourCode как параметрboolean flag value (true).

0 голосов
/ 04 февраля 2019

Вы можете сохранить индекс выбранного элемента списка с помощью SharedPreferences и получить его обратно при обратном вызове onCreate.Или вы также можете использовать Постоянство комнаты для сохранения индекса в базе данных и извлечения в обратном вызове onCreate.

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