Доброе утро, у меня есть просмотр списка, который я хочу заполнить значениями String с помощью ArrayAdapter, я получил всю эту работу, за исключением того момента, когда он изначально запускается, мне нужно выбрать и выделить "текущий выбранный элемент"
просмотр списка ранее обрабатывался в onCreateView и не равен нулю, а currentPos равен 3 (список stateNames на данный момент равен 7)
adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_list_item_1, stateNames);
listView.setAdapter(adapter);
if (selectedState != null) {
listView.setItemChecked(currentPos, true);
adapter.notifyDataSetChanged();
}
также здесь есть прослушиватель onItemClick для просмотра списка
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (selectedState == null || !customStates.get(position).getCustomStateID().equals(selectedState.getCustomStateID())) {
selectedState = customStates.get(position);
}else{
listView.clearChoices();
selectedState = null;
}
adapter.notifyDataSetChanged();
}
});
, поэтому, если ничего не выбрано или что-то еще выбрано, затем продолжите и выберите новый элемент, в противном случае отмените выделение и снимите выделение со всего.
Но когда я загружаю фрагмент, он имеетзначение выбрано, но не выделено, и когда я нажимаю второй раз, элемент не выбирается, но остается выделенным.
Кто-нибудь знает, чего мне не хватает, чтобы "обновить" выделение в ячейке?
Спасибо.