RecyclerView:禁用由焦点变化引起的滚动
TL;DR我有一个s。当用户被聚焦并点击时,我想获得焦点,但我不想滚动。我怎样才能做到这一点?RecyclerView
EditText
EditText #1
EditText #2
EditText #2
ReyclerView
我正在尝试与一堆s一起工作。当我专注于一个并单击另一个时,滚动使第二个位于屏幕顶部。我想从 中禁用此自动滚动,但我仍然希望用户能够滚动,并且我仍然希望对第二个进行聚焦,以便用户可以开始键入。我怎样才能做到这一点?RecyclerView
EditText
EditText
RecyclerView
RecyclerView
EditText
我已经尝试了以下解决方案:
-
https://stackoverflow.com/a/8101614/4077294,但带有 .我打电话进来。
RecyclerView.OnItemTouchListener
recyclerView.requestFocusFromTouch
onInterceptTouchEvent
-
行为:滚动到顶部,一直点击。
EditText
-
行为:滚动到顶部,一直点击。
-
通过
EditText
editText.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, bool hasFocus) { if (hasFocus) { v.clearFocus(); } } });
-
行为:键盘从未出现过,静止滚动到顶部。
RecyclerView
-
行为:键盘从未出现过,静止滚动到顶部。
完全禁用滚动是不可接受的,因为我仍然希望用户能够滚动。