ScrollView中包含EditText,导致EditText无法上下滚动的解决办法

ScrollView中包含EditText,导致EditText无法上下滚动的解决办法:

mEt_content.setOnTouchListener(this); // 解决scrollView中嵌套EditText导致不能上下滑动的问题  
  
@Override  
public boolean onTouch(View v, MotionEvent event) {  
    switch (v.getId()) {  
    case R.id.et_content:  
    case R.id.et_title:  
        // 解决scrollView中嵌套EditText导致不能上下滑动的问题  
        v.getParent().requestDisallowInterceptTouchEvent(true);  
        switch (event.getAction() & MotionEvent.ACTION_MASK) {  
        case MotionEvent.ACTION_UP:  
            v.getParent().requestDisallowInterceptTouchEvent(false);  
            break;  
        }  
    }  
    return false;  
}

实际就是在手指按下的时候,如果触发的EditText,则请求父控件不要拦截;在手指抬起的时候,允许父控件进行拦截(恢复系统默认的事件分发机制)。


不过还遇到一个问题,就是EditText中输入的文字过多的时候,点击EditText,当EditText获得焦点后,ScrollView会莫名的跳动,该bug没找到原因...


你可能感兴趣的:(ScrollView中包含EditText,导致EditText无法上下滚动的解决办法)