안드로이드에서 XML을 통해 EditText를 편집 할 수 없게 만드는 방법은 무엇입니까? 편집 할 수 없는 방법을 알려주는 사람이

EditTextXML을 통해 편집 할 수 없는 방법을 알려주는 사람이 있습니까? 에 설정 android:editable을 시도 false했지만

  1. 더 이상 사용되지 않습니다. 과
  2. 작동하지 않았다.


답변

이 간단한 코드를 사용하십시오 :

textView.setKeyListener(null);

효과가있다.

편집 : KeyListener나중에 추가하려면 다음을 수행하십시오.

1 : 키 리스너를 태그로 설정 textView

textView.setTag(textView.getKeyListener());
textView.setKeyListener(null);

2 : 태그에서 키 리스너를 가져 와서 다시 설정하십시오. textView

textView.setKeyListener((KeyListener) textView.getTag());

답변

이것을 EditText xml 파일에 추가하십시오 :

<EditText ...
        android:clickable="false" 
        android:cursorVisible="false" 
        android:focusable="false" 
        android:focusableInTouchMode="false">
</EditText>

와 같은 효과를 android:editable="false"냅니다. 나를 위해 일했습니다, 그것이 당신에게도 효과가 있기를 바랍니다.


답변

편집 텍스트를 보자

EditText editText;

editText.setKeyListener(null);

작동하지만 키를 듣지 않습니다.

사용자는 편집 텍스트에서 커서를 볼 수 있습니다.

당신은 시도 할 수 있습니다 editText.setEnabled(false);

이는 사용자가 커서를 볼 수 없음을 의미합니다. 간단히 말해서 TextView.


답변

다른 답변에서 언급했듯이 할 수는 setEnabled(false) 있지만 XML을 통해 설정하는 방법을 묻는 이유는 다음과 같습니다.

에 다음 속성을 추가하십시오 EditText.

android:enabled="false"

답변

XML에서 비활성화 (한 줄) :

 android:focusable="false"

필요한 경우 Java에서 다시 활성화하십시오 (한 줄).

editText.setFocusableInTouchMode(true);

답변

그들은 “편집 가능”을 더 이상 사용하지 않지만 inputType에서 작동하는 것을 제공하지 않았습니다.

그런데 inputType = “none”은 어떤 영향을 미칩니 까? 내가 사용하는 한 그것을 사용하거나 사용하지 않으면 아무런 차이가 없습니다.

예를 들어, 기본 editText는 한 줄이라고합니다. 그러나 inputType을 한 줄로 선택해야합니다. “없음”을 선택하면 여전히 여러 줄로 표시됩니다.


답변

이 조합은 저에게 효과적이었습니다.

<EditText ... >
    android:longClickable="false"
    android:cursorVisible="false"
    android:focusableInTouchMode="false"
</EditText>