У меня есть ListView, который открывает другое действие при щелчке по строке элемента через прослушиватель onItemClick.
Я бы хотел, чтобы эта строка оставалась в нажатом состоянии с момента нажатия на экран, когда экран переключается на новое действие. Я думаю, что это будет более понятным для пользователя, и вы увидите такие вещи с большинством кнопок, которые открывают/закрывают диалоги или переключают действия.
Я попробовал установить view.setPressed(true) в onItemClick() listener, но, похоже, он вызван через мгновение после того, как состояние нажатия изменилось на нормальное, поскольку оно слегка мерцает.
Например:
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 для определения нормальных, нажатых, выбранных и т.д. состояний для фона списка.