EditText 여러 줄 편집 시 ScrollView에서 스크롤할 수 없는 문제 해결

2613 단어 android
이것은 매우 답답한 일이다. 바보x가 나에게 일을 찾아주었다. 내가 한 앱이 잘 안 된다고 해서 내가 바보같이 제품 매니저라고 생각하니?참견할 일이 정말 많다.각종 문제, 각종 맏형에게 반응, 서버 쪽 문제까지 찾아와 내가 구세주인 줄 알고 토로하고 본론으로 들어간다.
이전에 ListView, GridView, ViewPager가 ScrollView에서 굴러다니는 문제를 해결한 경험을 감안하여, 나는 extends EditText를 통해 원터치 이벤트를 다시 쓰는 방법을 통해 이 문제를 해결했다.
먼저 여러 줄 편집 텍스트를 표시합니다.EditText의 다음 속성은 xml 파일에 포함됩니다.
android:enabled="true"
android:gravity="top"
android:minLines="5"
android:maxLines="10"
android:scrollbars="vertical".

그런 다음 EditText:
public class MyEditText extends EditText {

    public MyEditText(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public MyEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyEditText(Context context) {
        super(context);
    }

    @Override
    public boolean onTouchEvent(MotionEvent evt) {
        switch (evt.getAction()) {
        case MotionEvent.ACTION_MOVE:
        //       ,            ,         
                  getParent().requestDisallowInterceptTouchEvent(true);
            break;
        }
        return super.onTouchEvent(evt);
    }
}

사용할 때 시스템의 EditText 컨트롤을 전체 패키지 경로가 있는 MyEditText로 바꾸면 됩니다. 예를 들어:com.xxx.xxx.ui.view.edittext.MyEditText
큰일을 마치고 퇴근해서 밥을 먹다.

좋은 웹페이지 즐겨찾기