ScrollView中包含EditText,致使EditText沒法上下滾動的解決辦法:java
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,則請求父控件不要攔截;在手指擡起的時候,容許父控件進行攔截(恢復系統默認的事件分發機制)。ide
不過還遇到一個問題,就是EditText中輸入的文字過多的時候,點擊EditText,當EditText得到焦點後,ScrollView會莫名的跳動,該bug沒找到緣由...this