问题描述与分析:
在ListView/ScrollView中添加了EditText用来输入信息,设置了可以多行输入之后,当输入字符较多时,文字会向上滚动,当想把文字滚动下来时,却发现EditText是无法滚动的,只有外层的ListView/ScrollView可以滚动。这个问题很明显是外层的ListView/ScrollView拦截了它的子控件EditText的事件导致的。
解决方法:
mEditText.setOnTouchListener(View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (v.getId()) {
case R.id.edit_text:
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
v.getParent().requestDisallowInterceptTouchEvent(true);
break;
}
}
return false;
});