2014-02-24 67 views
3

我在一個RelativeLayout中有一個listview。我想要在列表視圖上的任何點擊來調用Relativelayout的onClick監聽器。 listview如何將它的點擊事件傳遞給父視圖。如何將ListView onClick事件傳遞給父視圖

我試過這個不行。

listView.setOnTouchListener(new OnTouchListener() { 
     // Setting on Touch Listener for handling the touch inside 
     // ScrollView 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      // Disallow the touch request for parent scroll on touch of 
      // child view 
      listView.requestDisallowInterceptTouchEvent(false); 
      return false; 
     } 

    }); 

回答

0

我認爲你需要使用這些方法之一,以便能夠截獲該事件之前被髮送到相應的組件:

Activity.dispatchTouchEvent(MotionEvent) - 這允許你的活動,以攔截所有觸摸事件,在他們被派往窗口之前。

ViewGroup.onInterceptTouchEvent(MotionEvent) - 這允許ViewGroup在事件被分派到子視圖時觀察事件。

ViewParent.requestDisallowInterceptTouchEvent(boolean) - 在父視圖中調用此視圖以指示它不應使用onInterceptTouchEvent(MotionEvent)攔截觸摸事件。

參考請點擊這裏EventHandlers

+0

Kanaiya - 請檢查是否我的做法是正確的。 – luckyNinja

0

可以在XML中使用:

android:focusable="false" 

在Java代碼中使用:

v.setClickable(false) 
相關問題