Вопрос по list, android – Перейти к элементу в Listview без использования smoothScrollToPosition

2

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

Я использую проверяемый список:mylistview.setChoiceMode(1) .

Я понял этоmylistview.setSelection(position) такое решение, но когда я его использую, ничего не происходит (возможно, потому что это проверяемое представление списка?).

Когда я используюmylistview.smoothScrollToPosition(position), это работает хорошо, но у меня, очевидно, есть эта анимация прокрутки, которая мне не нужна.

Что я мог сделать ?

Благодарю.

Спасибо, что ответили. Я думаю, что я пойду с антеу решение. Jecimi
Это похожий вопрос, может быть, он поможет вам:stackoverflow.com/questions/1446373/… Chopin

Ваш Ответ

1   ответ
8

Попробуйте это:

    myListView.post(new Runnable() 
    {
        @Override
        public void run() 
        {
            myListView.setSelection(pos);
            View v = myListView.getChildAt(pos);
            if (v != null) 
            {
                v.requestFocus();
            }
        }
    });

Из этого списка разработчиков Google ответ от Romain GuyСсылка на сайт

Это правильное решение, но оно не ведет себя какsmoothScrollToPosition() (речь идет не об анимации прокрутки, а о способе отображения списка к отображаемому элементу, потому что он делает выбранный элемент всегда первым, и поэтому просмотр списка всегда «прыгает», чтобы сначала отобразить этот элемент, который выглядит странно). Но я думаю, что смогу с этим справиться, и, похоже, это самое быстрое решение в любом случае. Я надеюсь, что они исправят эту проблему. Спасибо за Ваш ответ. Jecimi

Похожие вопросы