2012-02-03 28 views
10

Tôi có một đoạn có chứa một ViewPager. Khi tôi thổi phồng bố trí, tôi chỉ định một người biết lắng nghe OnLongClick với nó như sau:ViewPager OnLongClick người nghe không bắn

mPager.setOnLongClickListener(mOnPagerLongClickListener); 

Tuy nhiên, khi tôi thực hiện một nhấp chuột dài trên ViewPager, không có gì xảy ra. Tôi có thể làm gì để thực hiện công việc này? Hoặc tôi có cần phải chỉ định người nghe cho mọi chế độ xem trong ViewPager không? Gán trình lắng nghe cho GridViews mà ViewPager chứa dường như không hoạt động.

Trả lời

3

Xin lỗi vì đã đưa ra truy vấn, nhưng tôi có thể giải quyết vấn đề. Nó sẽ không hữu ích cho bạn nhưng có thể có ích cho bất kỳ người xem nào khác.

Giải pháp đơn giản là chỉ định người nghe trực tiếp vào đối tượng của ImageView thay vì gán nó cho đối tượng của ViewPager, tức là gán viewPager.setOnLongClickListener sẽ không kích hoạt bất cứ thứ gì.

Vì vậy, chúng ta phải khởi tạo ImageView với onLongClickListeners trong lớp mở rộng PageAdapter trong instantiateItem() bằng cách:

imageView.setOnLongClickListener(new OnLongClickListener()){ 

    @Override 
    public boolean onLongClick(View v) { 
     // Do your stuff 
     return false; 
    } 
}); 
Các vấn đề liên quan