我有一个带有水平滚动的回收器视图。 recyclerview 中的每个项目都有编辑文本。当我单击 edittext 时,recyclerview 滚动到末尾。我怎样才能禁止滚动?
谢谢!
您可以在 EditText 上设置焦点事件侦听器以禁用焦点滚动,并在焦点失焦时再次启用它。
就像是:
edit_Text.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
recyclerview.addOnItemTouchListener(disabler);
}else {
recyclerview.removeOnItemTouchListener(disabler);
}
}
});
其中禁用器是此类的实例(来自这个答案 https://stackoverflow.com/a/30531092/2229572):
public class RecyclerViewDisabler implements RecyclerView.OnItemTouchListener {
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
return true;
}
@Override
public void onTouchEvent(RecyclerView rv, MotionEvent e) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)