Scrolling EditText inside ScrollView

前端 未结 3 1940
礼貌的吻别
礼貌的吻别 2020-11-29 09:27

I have a nasty problem. I have EditText(8 lines) inside ScrollView. And when I\'m trying to scroll text in EditText it\'s behavior is

3条回答
  •  悲哀的现实
    2020-11-29 10:12

    Shilkin's code works great.I make it a little more stronger.Now it handle the situation that the EditText's direct parent is not the ScrollView(eg, EditText is wrapped in LinearLayout before it put into the scrollview).

    The method code:

    public static void handleEditTextScrollable(EditText editText, final int resId) {
        editText.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (v.getId() == resId) {
                    ViewParent parent = v.getParent();
                    while (!(parent instanceof ScrollView)) {
                        parent = parent.getParent();
                    }
                    parent.requestDisallowInterceptTouchEvent(true);
    
                    switch (event.getAction() & MotionEvent.ACTION_MASK) {
                        case MotionEvent.ACTION_UP:
                            parent.requestDisallowInterceptTouchEvent(false);
                            break;
                    }
                }
                return false;
            }
        });
    }
    

    Call it like this:

    handleEditTextScrollable(comment, R.id.wo_task_comments);
    

提交回复
热议问题