2012-07-04 31 views
1

我有一個活動。在活動中,我有2個片段,並且我想阻止其中一個片段的所有觸摸,並在用戶點擊第一個片段時解除觸摸。怎麼做 ?片段不具備的onTouchEvent方法Android:塊觸及片段

回答

7

在你的片段,在onCreateView,帶你返回查看和設置onTouchListener :

mContentView = inflater.inflate(R.layout.your_layout, null); 
    mContentView.setOnTouchListener(new OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      if(fragment is blocked) 
       return true; 
      else 
      return false; 
     } 
    }); 
    return mContentView; 
} 
+0

是否有可能在運行時設置新的onTouch偵聽器? – Jim

+0

對於片段有時「可觸摸」而且有時不可用的情況,請將有關該片段的某些信息傳遞給片段,如果片段可觸摸,則讓onTouch返回false,否則返回false。爲了清晰起見,我會編輯我的答案 – Tamara

0

你可以創建自己的佈局(或者更好的覆蓋您正在使用的一個),並覆蓋public boolean onInterceptTouchEvent(MotionEvent event)