У меня есть ListView, который открывает другое действие при щелчке строки элемента с помощью прослушивателя onItemClick.
Мне бы хотелось, чтобы эта строка оставалась в нажатом состоянии с момента нажатия на нее до момента перехода экрана к новому действию. Я думаю, что это было бы более понятным для пользователя, и вы видите подобные вещи с большинством кнопок, которые открывают / закрывают диалоги или переключают действия.
Я попытался установить view.setPressed (true) в слушателе onItemClick (), но, похоже, он вызывается через мгновение после того, как состояние печати вернулось в нормальное состояние, поскольку оно слегка мигает.
Например:
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
view.setPressed(true);
//start an activity
}
});
Этот код почти работает, за исключением мерцания (пользователь нажимает на элемент списка, и он переходит в нажатое состояние, затем пользователь отпускает (завершает щелчок), и он возвращается к своему нормальному состоянию на долю секунды, прежде чем вернуться к состояние нажатия из вызова setPressed (true)
Есть идеи?
Спасибо
Редактировать: я должен упомянуть, что я использую селектор для рисования xml, чтобы определить нормальное, нажатое, выделенное и т. Д. Состояния для фона списка.