2012-02-03 2 views
10

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

mPager.setOnLongClickListener(mOnPagerLongClickListener); 

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

ответ

3

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

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

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

imageView.setOnLongClickListener(new OnLongClickListener()){ 

    @Override 
    public boolean onLongClick(View v) { 
     // Do your stuff 
     return false; 
    } 
}); 
Смежные вопросы