yingLanNull/HideKeyboard

RecyclerView 中的行布局中有 EditText 时不起作用

Closed this issue · 6 comments

RecyclerView 中的行布局中有 EditText 时不起作用

刚刚看了下,是 OPPO 手机对跟布局的 onTouch 事件监听不到,具体什么原因还不清楚

@sivan67 按文档使用1.1.0试下

不行的,应该是 OPPO 手机的原因,我在 activity 中直接对 android.R.id.content 进行 onTouch 事件的监听都监听不到,我自己的解决办法是 HideUtil 中提供了另一个 init 方法

public static void init(Activity activity) {
        new HideUtil(activity, null);
    }

    public static void init(Activity activity, ViewGroup content) {
        new HideUtil(activity, content);
    }


    /**
     * @param activity
     */
    private HideUtil(final Activity activity, ViewGroup content) {
        if (content == null) {
            content = (ViewGroup) activity.findViewById(android.R.id.content);
        }
        content.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {

                dispatchTouchEvent(activity, motionEvent);

                return false;
            }
        });

        getScrollView(content, activity);
    }

然后在 activity 中使用

HideUtil.init(this, mRecyclerView);

关于OPPO手机的问题我还真不太清楚,请问下你是在setContentView(R.layout.id)之后调用的HideUtil.init(context)吗?

@yingLanNull 是的,在其它手机上都是可以的

谢谢你的反馈,我后续会根据你的做法更新上去。