Как автоматически перемещать полосу прокрутки? - PullRequest
1 голос
/ 07 сентября 2010

Я использую вид сетки для отображения изображений, я хочу автоматически перемещать прокрутку, всякий раз, когда я добавляю другие изображения в вид сетки, это возможно?

Ответы [ 4 ]

4 голосов
/ 08 сентября 2010

Я думаю, вам нужно прочитать немного больше:

https://developer.android.com/reference/android/widget/AdapterView.html#setSelection(int)

ListView.setSelection(position);

https://developer.android.com/reference/android/widget/AbsListView.html#smoothScrollToPosition(int)

ListView.smoothScrollToPosition(position).
2 голосов
/ 07 сентября 2010

Либо позвоните setSelection(), либо используйте smoothScrollToPosition().

0 голосов
/ 26 апреля 2012

Используйте TimerTask для этого, поскольку Adapter.notifyDataSetChanged() требует задержки для обновления сетки или списка. Код ниже:

new Timer().schedule(new TimerTask()
            {
                @Override
                public void run() {         
                    nameHandler.sendEmptyMessage(0);
                }
            },500);
//// And in handler::

Handler nameHandler = new Handler()
    {
        public void handleMessage(Message msg)
        {
            super.handleMessage(msg);
            gridView.setSelection(selectorIndex);
                         // OR
            gridView.smoothScrollToPosition(selectorIndex);
            gridView.invalidate();
        }
    } ;
0 голосов
/ 08 сентября 2010

Я получил результат, используя GridView.setSelection(GridView.getCount()), поэтому полоса прокрутки автоматически перемещается к последнему элементу Grid View

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