2015-05-14 52 views
0

所以我創建了一個ImageSwitcher,目標是當你向左或向右滑動時,數組中的下一個Image被加載。然後,如果您單擊ImageSwitcher,它將使用當前顯示的圖像開始一個新的活動。設置onClickListener爲ImageSwitcher

我遇到的問題是我無法讓ImageSwitcher識別點擊事件。我已成功設置swipeRight和swipeLeft手勢,並嘗試設置onClickListener,但是當我單擊ImageSwitcher時,沒有任何反應。

任何幫助將不勝感激。

imgSwitcher = (ImageSwitcher) findViewById(R.id.highlights_image_switcher); 

imgSwitcher.setFactory(new ViewSwitcher.ViewFactory() { 
    @Override 
    public View makeView() { 
     ImageView myView = new ImageView(getApplicationContext()); 
      myView.setScaleType(ImageView.ScaleType.FIT_CENTER); 
      myView.setLayoutParams(new ImageSwitcher.LayoutParams(
       ImageSwitcher.LayoutParams.MATCH_PARENT, 
       ImageSwitcher.LayoutParams.MATCH_PARENT)); 
      return myView; 
    } 
}); 

imgSwitcher.setOnTouchListener(new OnSwipeTouchListener(getBaseContext()) { 
    @Override 
    public void onSwipeLeft() { 
     highlightsNext(); 
    } 

    @Override 
    public void onSwipeRight() { 
     highlightsPrevious(); 
    } 
}); 

imgSwitcher.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     highlightsAdvance(highlightIndex); 
    } 
}); 
+0

你確定'onClick()'方法永遠不會到達嗎? – GVillani82

+0

你是否登錄過'OnClickListener' ......正如Joseph82所說的,確保點擊是問題而不是方法。 –

+0

是的,我設置了一個斷點以及打印日誌,但都沒有達到。 – user3863053

回答

0

因此,對於任何想知道我找到了我的問題的答案。因爲我已經實現了onSwipeTouchListener,所以我不能實現一個onClick監聽器,因爲他們都首先監聽Down事件。所以所有的關閉事件都會進入onSwipeTouchListener,因此onClickListener從不會選擇任何東西。另一方面,我能夠編寫一些代碼來解決這個問題,如果任何人有興趣看到它,只需發表評論,我可以把它。