2010-08-09 61 views
1

我有一個2適配器擴展BaseAdapater。第一個適配器(我們稱之爲imageAdapter)在一個ID上加載一個圖像庫,第二個適配器(pageAdapter)從第一個適配器構建圖像網格。我將第二個適配器設置爲一個畫廊。我的想法是,我可以在每張專輯中有多張照片的相冊中排序頁面。OnClickListener和OnTouchListener

現在我想要imageViews發射點擊,所以我爲來自imageAdapter的每個imageView設置了一個onClickListener。問題是,在設置onClickListener之後,我無法通過觸摸/拖動/滾動圖片來滾動圖片庫。我認爲這是一個父母/兒童事件通過事情通過..但我不知道如何解決它的確切。請幫忙。

回答

2

這是一個瘋狂的猜測,基於ListView的經驗(其中一個clickListener的工作,但父母onClickListener沒有),但在imageViews上設置onClickListener可能已經使它失去了焦點,現在你的其他觸摸事件未註冊。

嘗試設置myImageView.setFocusable(false)

我假設一切正常添加的onClickListener到ImageViews之前預期。

+0

嗨極光,一切工作之前,我設置onClickListener。關注焦點不起作用。我會嘗試攔截觸摸事件和下來事件... – Jack 2010-08-09 22:59:54

+0

是的,對不起。正如我所說,瘋狂的猜測。祝你好運! – Aurora 2010-08-09 23:29:04

1

我通過繼承Gallery並重寫onDown()和onSingleTapUp()來解決此問題。我還必須實現一個pointToChildId()方法來將運動事件轉換爲項目id。 =)比我最初計劃的工作要多得多,但現在可以工作了,我對解決方案非常滿意。