ViewPager OnLongClick прослушиватель не работает

У меня есть фрагмент, содержащий ViewPager. Когда я раздуваю макет, я назначаю ему прослушиватель OnLongClick следующим образом:

mPager.setOnLongClickListener(mOnPagerLongClickListener);

Однако, когда я выполняю длинный щелчок на ViewPager, ничего не происходит. Что я могу сделать, чтобы сделать эту работу? Или мне нужно назначить слушателя для каждого вида в ViewPager? Назначение слушателя GridViews, который содержит ViewPager, тоже не работает.

Ответ 1

Извините за включение запроса, но я могу решить проблему. Это не поможет вам, но может пригодиться для любого другого зрителя.

Простое решение - назначить прослушиватель непосредственно объекту ImageView, скорее назначив его объекту ViewPager, т.е. присвоение viewPager.setOnLongClickListener ничего не сможет запустить.

Итак, мы должны инициализировать ImageView с помощью onLongClickListeners в классе, расширяющем PageAdapter в instantiateItem():

imageView.setOnLongClickListener(new OnLongClickListener()){

    @Override
    public boolean onLongClick(View v) {
        // Do your stuff
        return false;
    }
});