프로그래밍 언어/Android

Android에서 활동 시작시 EditText가 포커스를 얻지 못하도록 하는 방법

Rateye 2021. 10. 27. 14:40
728x90
반응형
질문 : Android에서 활동 시작시 EditText가 포커스를 얻지 못하도록하는 방법

Android에는 두 가지 요소가있는 Activity

Activity 시작되면 EditText 즉시 입력 포커스가 있습니다 (깜박이는 커서). 시작할 때 컨트롤에 입력 포커스가있는 것을 원하지 않습니다. 나는 시도했다 :

EditText.setSelected(false);
EditText.setFocusable(false);

불운. Activity EditText 가 자신을 선택하지 않도록 어떻게 확신시킬 수 있습니까?

답변

Luc와 Mark의 훌륭한 답변이지만 좋은 코드 샘플이 없습니다. android:focusableInTouchMode="true"android:focusable="true" 태그를 상위 레이아웃 (예 : LinearLayout 또는 ConstraintLayout )에 추가하면 문제가 해결됩니다.

<!-- Dummy item to prevent AutoCompleteTextView from receiving focus -->
<LinearLayout
    android:focusable="true" 
    android:focusableInTouchMode="true"
    android:layout_width="0px" 
    android:layout_height="0px"/>

<!-- :nextFocusUp and :nextFocusLeft have been set to the id of this component
to prevent the dummy from receiving focus again -->
<AutoCompleteTextView android:id="@+id/autotext"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:nextFocusUp="@id/autotext" 
    android:nextFocusLeft="@id/autotext"/>
출처 : https://stackoverflow.com/questions/1555109/how-to-stop-edittext-from-gaining-focus-at-activity-startup-in-android
728x90
반응형