2016-08-15 2 views
0

У меня есть два ExpandableListView, которые расположены рядом друг с другом. Возможно ли синхронизировать свиток в обоих из них? Скажем, если пользователь начал прокрутку начала прокрутки в первом ExpandableListView, то начнет прокрутка и во втором ExpandableListView?Синхронизация прокрутки в двух ExpandableListView

Например, первые три столбца (во второй строке) являются сначала ExpandableListView, а второй - вторым ExpandableListView. (Смотри рисунок)

enter image description here

ответ

1

это интересный вопрос. Я придумал это доказательство концепции github gist

Это решение основано на View.OnTouchListener где мы проходим MotionEvent от первого расширяемого вида в другое с помощью dispatchTouchEvent способа и наоборот.

Это пример использования:

ExpandableListViewSynchronisationTouchListener expandableListViewSynchronisationTouchListener = new ExpandableListViewSynchronisationTouchListener(this, firstExpandable, secondExpandable); 
    firstExpandable.setOnTouchListener(expandableListViewSynchronisationTouchListener); 
    secondExpandable.setOnTouchListener(expandableListViewSynchronisationTouchListener); 
    firstExpandable.setOnChildClickListener(expandableListViewSynchronisationTouchListener); 
    secondExpandable.setOnChildClickListener(expandableListViewSynchronisationTouchListener); 
+0

Спасибо за решение! –

Смежные вопросы