Android 편집 텍스트 커서 위치가 처음으로 변경되지 않습니다.

모하마드 자파리

내가 원하는 커서의 위치를 변경 에서 EditText글고 치기에 클릭

처음으로 클릭하여 클릭 후 커서 위치를 10-12 사이로 변경하고 싶습니다 .

텍스트 이미지

내 코드는 다음과 같습니다.

final EditText editText = (EditText) findViewById(R.id.editText);
    editText.setText(text1 + text2);
    editText.setSelection(text1.length());

    editText.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            editText.setSelection(editText.getText().length() - text2.length());
        }
    });

    editText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int before, int count) {
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void afterTextChanged(Editable editable) {
            if (!editable.toString().contains(text1) || !editable.toString().contains(text2)) {
                editText.setText(text1 + text2);
                editText.setSelection(text1.length());
            }
        }
    });
}
Rehan

간단하게 유지하면 다음 스 니펫은 원하는 것을 달성하기에 충분합니다 (분명히)

final EditText editText = (EditText) findViewById(R.id.editText);
editText.setText(text1 + text2);
// Keep it simple for the selection, it will place the cursor at end of text1
editText.setSelection(text1.length());
// editText.setCursorVisible(true); // I don't think it is required

// You don't need to go for OnTouchListener, OnClickListener will do for you
editText.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        editText.setSelection(editText.getText().length() - text2.length());
    }
});

editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int before, int count) {
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int count, int after) {
    }

    @Override
    public void afterTextChanged(Editable editable) {
        if (!editable.toString().contains(text1) || !editable.toString().contains(text2)) {
            editText.setText(text1 + text2);
            editText.setSelection(text1.length());
        }
    }
});

업데이트 1

위의 코드는 포커스를 얻는 첫 번째 EditText 인 경우 잘 작동하고, 그렇지 않은 경우 소프트 키보드가 이미 열려 있으면 처음에 커서가 탭된 위치에 표시됩니다. 여기에 대한 해결 방법이 있습니다 (최상의 솔루션은 아니지만 귀하에게 적합합니다).

editText.setCursorVisible(false);
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View view, boolean hasFocus) {
        if (hasFocus) {
            editText.post(new Runnable() {
                @Override
                public void run() {
                    editText.setSelection(editText.getText().length() - text2.length());
                    editText.setCursorVisible(true);
                }
            });
        } else {
            editText.setCursorVisible(false);
        }
    }
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

커서가 다음 편집 텍스트에 초점을 맞추지 않음

분류에서Dev

android : gravity가 TextView에서 텍스트의 위치를 변경하지 않음

분류에서Dev

Scroll View에서 편집 텍스트는 스크롤이 모두 작동하지만 편집 텍스트에서는 사용자가 편집 텍스트를 볼 수없는 경우 맨 위로 스크롤됩니다.

분류에서Dev

Vim으로 텍스트 파일을 편집해도 tail -f가 업데이트되지 않습니다.

분류에서Dev

첫 번째 편집 텍스트에서 두 번째 편집 텍스트로 이동, 입력 마스크가 작동하지 않음

분류에서Dev

편집 텍스트 입력 후 TextView가 인쇄되지 않음

분류에서Dev

CSS 텍스트 위치가 변경되지 않음

분류에서Dev

Android에서 편집 텍스트가있는 커서를 어떻게 알 수 있습니까?

분류에서Dev

편집 텍스트에서 다른 활동으로 텍스트 가져 오기

분류에서Dev

Google지도 <iframe> 코드가 WP 텍스트 편집기에서 제대로 표시되지 않음

분류에서Dev

Android 초보자, 버튼 텍스트가 변경되지 않음

분류에서Dev

Fable.React-입력 필드를 편집하면 커서가 텍스트 끝으로 이동합니다.

분류에서Dev

SyncFusion SfRichTextEditor가 Android에서 Prism, Xamarin.Forms를 사용하여 편집 된 텍스트를 반환하지 않습니다.

분류에서Dev

편집 텍스트에 텍스트가있는 경우 자동으로 다음 활동

분류에서Dev

개체 위로 롤오버 할 때 마우스 커서가 변경되지 않습니다.

분류에서Dev

Android 리치 텍스트 편집기의 CSS 스타일이 작동하지 않음

분류에서Dev

조각의 텍스트 편집에서 SoftKeyboard를 열지 않음

분류에서Dev

텍스트보기의 텍스트를 Android에서 텍스트 편집으로 편집

분류에서Dev

Android : 휴대폰을 회전하면 편집 텍스트가 서로 겹칩니다.

분류에서Dev

Android 편집 텍스트는 숫자 입력을 허용하지 않습니다.

분류에서Dev

탐색 모음 뒤로 단추 텍스트가 변경되지 않습니다.

분류에서Dev

edittext의 기본 텍스트가 부동 값이면 편집 텍스트 커서가 왼쪽으로 재설정됩니다.

분류에서Dev

Greensock 텍스트 플러그인으로 텍스트가 변경되지 않음

분류에서Dev

텍스트 필드 x 및 y 위치를 변경하는 방법 및 편집이 시작되면 정상 위치로 돌아갑니다.

분류에서Dev

텍스트 편집기에서 텍스트를 선택한 다음 텍스트 위로 마우스를 가져 가면 스핀 휠 커서가 중단됩니다.

분류에서Dev

서로 다른 활동의 두 편집 텍스트간에 데이터를 전달하기위한 Android Studio .code

분류에서Dev

마우스 커서가 32 비트에서 변경되지만 64 비트에서는 변경되지 않음

분류에서Dev

목록보기의 편집 텍스트에서 포커스를 지 웁니다.

분류에서Dev

가시성이 GONE에서 VISIBLE로 변경된 후 체크 박스가 처음으로 확인되지 않습니다.

Related 관련 기사

  1. 1

    커서가 다음 편집 텍스트에 초점을 맞추지 않음

  2. 2

    android : gravity가 TextView에서 텍스트의 위치를 변경하지 않음

  3. 3

    Scroll View에서 편집 텍스트는 스크롤이 모두 작동하지만 편집 텍스트에서는 사용자가 편집 텍스트를 볼 수없는 경우 맨 위로 스크롤됩니다.

  4. 4

    Vim으로 텍스트 파일을 편집해도 tail -f가 업데이트되지 않습니다.

  5. 5

    첫 번째 편집 텍스트에서 두 번째 편집 텍스트로 이동, 입력 마스크가 작동하지 않음

  6. 6

    편집 텍스트 입력 후 TextView가 인쇄되지 않음

  7. 7

    CSS 텍스트 위치가 변경되지 않음

  8. 8

    Android에서 편집 텍스트가있는 커서를 어떻게 알 수 있습니까?

  9. 9

    편집 텍스트에서 다른 활동으로 텍스트 가져 오기

  10. 10

    Google지도 <iframe> 코드가 WP 텍스트 편집기에서 제대로 표시되지 않음

  11. 11

    Android 초보자, 버튼 텍스트가 변경되지 않음

  12. 12

    Fable.React-입력 필드를 편집하면 커서가 텍스트 끝으로 이동합니다.

  13. 13

    SyncFusion SfRichTextEditor가 Android에서 Prism, Xamarin.Forms를 사용하여 편집 된 텍스트를 반환하지 않습니다.

  14. 14

    편집 텍스트에 텍스트가있는 경우 자동으로 다음 활동

  15. 15

    개체 위로 롤오버 할 때 마우스 커서가 변경되지 않습니다.

  16. 16

    Android 리치 텍스트 편집기의 CSS 스타일이 작동하지 않음

  17. 17

    조각의 텍스트 편집에서 SoftKeyboard를 열지 않음

  18. 18

    텍스트보기의 텍스트를 Android에서 텍스트 편집으로 편집

  19. 19

    Android : 휴대폰을 회전하면 편집 텍스트가 서로 겹칩니다.

  20. 20

    Android 편집 텍스트는 숫자 입력을 허용하지 않습니다.

  21. 21

    탐색 모음 뒤로 단추 텍스트가 변경되지 않습니다.

  22. 22

    edittext의 기본 텍스트가 부동 값이면 편집 텍스트 커서가 왼쪽으로 재설정됩니다.

  23. 23

    Greensock 텍스트 플러그인으로 텍스트가 변경되지 않음

  24. 24

    텍스트 필드 x 및 y 위치를 변경하는 방법 및 편집이 시작되면 정상 위치로 돌아갑니다.

  25. 25

    텍스트 편집기에서 텍스트를 선택한 다음 텍스트 위로 마우스를 가져 가면 스핀 휠 커서가 중단됩니다.

  26. 26

    서로 다른 활동의 두 편집 텍스트간에 데이터를 전달하기위한 Android Studio .code

  27. 27

    마우스 커서가 32 비트에서 변경되지만 64 비트에서는 변경되지 않음

  28. 28

    목록보기의 편집 텍스트에서 포커스를 지 웁니다.

  29. 29

    가시성이 GONE에서 VISIBLE로 변경된 후 체크 박스가 처음으로 확인되지 않습니다.

뜨겁다태그

보관