내 응용 프로그램에는 사용자에게 쓰기 권한이 아닌 읽기 권한 만있는 EditText가 있습니다.
코드에서 설정했습니다 android:enabled="false"
.
EditText의 배경이 어둡게 바뀌었지만 클릭하면 키보드가 나타나고 텍스트를 변경할 수 있습니다.
EditText를 비활성화하려면 무엇을 설정해야합니까?
답변
나는 올바른 것이 설정 될 것이라고 믿는다 android:editable="false"
.
받는 내 링크 지점의 속성 이유를 궁금해한다면 TextView
, 당신은 대답이 때문에 EditText
상속에서 TextView
:
EditText는 TextView에 대한 얇은 비니어로 편집 가능하도록 자체 구성됩니다.
업데이트 :
아래 의견에서 언급했듯이 editable
( API 레벨 3 이후 ) 더 이상 사용되지 않습니다 . 대신 inputType
(값과 함께 none
) 를 사용해야합니다 .
답변
사용 EditText.setFocusable(false)
하지 않도록 설정 편집에
EditText.setFocusableInTouchMode(true)
편집 할 수 있도록;
답변
다음 방법을 시도해 볼 수 있습니다.
private void disableEditText(EditText editText) {
editText.setFocusable(false);
editText.setEnabled(false);
editText.setCursorVisible(false);
editText.setKeyListener(null);
editText.setBackgroundColor(Color.TRANSPARENT);
}
활성화 된 EditText :
비활성화 된 EditText :
그것은 나를 위해 일하고 그것이 당신을 도울 수 있기를 바랍니다.
답변
이것을 사용하여 사용자 입력을 비활성화하십시오
android:focusable="false"
android : editable = “false” 이 메소드는 더 이상 사용되지 않습니다.
답변
edit disable을 EditText
위해 focusable
OR 을 사용할 수 있다고 생각 enable
하지만
-
android:enabled=...
또는 사용editText.setEnabled(...)
또한 텍스트 색상 을 회색으로 변경 합니다
EditText
.
클릭하면 효과가 없습니다 -
android:focusable=...
또는editText.setFocusable(false)
– 사용editText.setFocusableInTouchMode(true)
그것은 변경되지 않습니다 의 텍스트 컬러
EditText
가 강조 클릭하면을EditText
몇 밀리 초 약에 대한 결론을
산출
답변
으로는 android:editable="false"
depricated.You가 InputType 사용할 수 있습니다 TYPE_NULL을 글고 치기에
이처럼 사용하십시오 :
editText.setInputType(InputType.TYPE_NULL);
답변
대로 android:editable="false"
에서 사용되지 않는xml
android:enabled="false"
간단하게 사용하십시오 . 왜 더 많은 코드를 사용합니까?
원하는 경우 java class
프로그래밍 방식으로 사용할 수도 있습니다
editText.setEnabled(false);