2015-04-06 78 views
0

我有一个ViewPager(水平滑动)片段中的一个EditText(垂直滚动)。允许滚动EditText和滑动ViewPager

默认情况下,EditText中的触摸事件可以滑动ViewPager,但不滚动EditText。通过使用下面的代码(我真的不明白),触摸的EditText内的事件可以滚动的EditText但不刷卡ViewPager:

editText.setOnTouchListener(new View.OnTouchListener() 
{ 
    @Override 
    public boolean onTouch(View v, MotionEvent event) 
    { 
     v.getParent().requestDisallowInterceptTouchEvent(! ((event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_UP)); 
     return false; 
    } 
}); 

我怎么能允许同时ViewPager的滑动和滚动的EditText上?

回答

2

您可以根据给定的解决方案here来处理此问题。对于EditText,您将不得不添加此片段。

editText.setOnTouchListener(new View.OnTouchListener() 
{ 
     public boolean onTouch(View p_v, MotionEvent p_event) 
     { 
      // this will disallow the touch request for parent scroll on touch of child view 
      p_v.getParent().requestDisallowInterceptTouchEvent(true); 
      return false; 
     } 
}); 

希望它可以帮助...

+0

您好,我不得不改变'requestDisallowInterceptTouchEvent(真)''要在FALSE'第二片断,然后这个答案的工作。谢谢 :) – stackunderflow 2015-04-06 21:50:28