Android: одновременная прокрутка горизонтального списка - PullRequest
0 голосов
/ 13 января 2012

Предположим, у меня есть два горизонтальных ListView, как показано ниже:


* 1004 песни1 * 1007 * песни2 * Я хочу знать, возможно ли сделать так, чтобы второй вид списка (list2) прокручивался горизонтально одновременно с прокруткой первого списка (list1) ..... То есть, когда я прокручиваю list1 (по горизонтали), даже list2 должен прокручиваться с тем же смещением ... Возможно ли это, если да, пожалуйста, помогите ... ! [Ссылка на изображение]: https://picasaweb.google.com/109389839906668906213/January132012#5697019272538269218

Ответы [ 2 ]

2 голосов
/ 13 января 2012

Вы можете сделать это - просто создайте такой макет и используйте события прокрутки:

list1.setOnScrollListener(new OnScrollListener() {
                public void onScrollStateChanged(AbsListView view, int scrollState) {
                    // TODO Auto-generated method stub

                }

                public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
                    list2.setSelectionFromTop(firstVisibleItem, list1.getChildAt(0).getTop());
                }
            });

Некоторые объяснения:

Лучше использовать list.setSelectionFromTop(), чем list.scrollTo() - потому что первый видимый элемент первого списка может быть показан частично.

list1.getChildAt(0).getTop() - конструкция для получения значения координаты X первого видимого элемента.

0 голосов
/ 13 января 2012

Поскольку в Android нет HorizontalListView, у вас должен быть другой вид адаптера, в любом случае реализуйте следующее:

list1.setOnItemSelectedListener(new OnItemSelectedListener()
{
   public void onItemSelected(AdapterView adapterView adapterView, View view, int position, long id){
       list2.setSelection(position);
   }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...