Реализация тяги Криса Бэйнса для обновления вместе с горизонтальным пролистыванием в представлении списка
Я реализовал (отсюда - горизонтальное перелистывание при просмотре списка) жест смахивания, чтобы пометить-отменить пометку элементов в списке. Я использовал тягу Йохана Нильссона, чтобы обновить реализацию, чтобы обновить элементы в списке. Функция "тянуть к обновлению" показала неожиданное поведение
- иногда показывая "Нажмите, чтобы обновить"
- иногда не прячется полностью
- иногда не меняется с "Потяните, чтобы обновить" на "Отпустить..."
Теперь я перешел к реализации Криса Бейнса. Функция "тянуть, чтобы обновить" теперь работает отлично, но функция "салфетки" перестала работать. "Размах" работает совершенно иначе.
final GestureDetector gestureDetector = new GestureDetector(
new MyGestureDetector());
View.OnTouchListener gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
};
postListView.setOnTouchListener(gestureListener);
postListView - это PullToRefreshListView postListView = (PullToRefreshListView) linearLayout.findViewById(R.id.post_list);
Я думаю, это не работает, потому что даже реализация Криса использует
public boolean onTouch(View v, MotionEvent event) {
//something over here
}
Теперь, как я могу использовать его в обоих местах без каких-либо конфликтов? Мне нужно обнаружить жесты в строках списка просмотра, а также прослушать тянуть в списке просмотра.
1 ответ
. PostListView.getRefreshableView() setOnTouchListener(gestureListener); работает для меня