解决RecycleView 与EditText焦点问题导致RecycleView自动回滚问题

以下展示主要的代码,其它不相关内容省略,如果RecyclerView 中有多个EditText,则每个EditText都设置以下监听即可。

private RecyclerView mRv;
private EditText mEt;

/**
 *  RecyclerView是否可以垂直滑动
 */
private boolean mRvCanScrollVertically = false;

.
.
.

// 设置RecyclerView LayoutManager,这里以LinearLayoutManager 垂直滑动为例,其它LayoutManager与这个一样,覆写canScrollVertically即可
mRv.setLayoutManager(new LinearLayoutManager(mContext) {
    @Override
    public boolean canScrollVertically() {
          return mRvCanScrollVertically;
    }
});

// 给RecyclerView设置touch监听
mRv.setOnTouchListener((v, event) -> {
      mRvCanScrollVertically = true;
      return false;
});
        
mEtSearch.setOnFocusChangeListener((v, hasFocus) -> {
       if (hasFocus) {
            mRvCanScrollVertically = false;
       }
 });

.
.
.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,552评论 25 708
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,975评论 2 59
  • 【Android 控件 RecyclerView】 概述 RecyclerView是什么 从Android 5.0...
    Rtia阅读 307,879评论 27 439
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,554评论 0 17
  • 你要成为自己的英雄,然后把最好的青春还给自己。 老师说,因为高考,下周要换教室上课了;大二的小朵说,马上高考了心里...
    Hebetow阅读 480评论 11 14