Реализация тяги Криса Бэйнса для обновления вместе с горизонтальным пролистыванием в представлении списка

Я реализовал (отсюда - горизонтальное перелистывание при просмотре списка) жест смахивания, чтобы пометить-отменить пометку элементов в списке. Я использовал тягу Йохана Нильссона, чтобы обновить реализацию, чтобы обновить элементы в списке. Функция "тянуть к обновлению" показала неожиданное поведение

  • иногда показывая "Нажмите, чтобы обновить"
  • иногда не прячется полностью
  • иногда не меняется с "Потяните, чтобы обновить" на "Отпустить..."

Теперь я перешел к реализации Криса Бейнса. Функция "тянуть, чтобы обновить" теперь работает отлично, но функция "салфетки" перестала работать. "Размах" работает совершенно иначе.

        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); работает для меня

Другие вопросы по тегам