如何在Android中禁用EditText

aj1*_*j10 73 android disabled-input android-edittext

如何EditText在Android 中的字段中禁用键入?

cha*_*nya 60

您可以使用EditText.setFocusable(false)禁用编辑
EditText.setFocusableInTouchMode(true)来启用编辑;

  • 这是我的问题.我假设在`setFocusable(false)之后`我可以翻转setFocusable(true)......不是这样的.设置`setFocusableInTouchMode(true)`为我做了诀窍. (5认同)

小智 38

我认为这是android中的一个错误.可以通过添加此补丁修复:)
检查这些链接 问题1问题2

希望它会有用.

  • 对于那些谁宁愿看到代码就在这里,而不是使用超链接:`editText.setEnabled(假)',与组合`editText.setFocusable(假)'将实现这一目标. (100认同)
  • 同样适用于XML:`android:enabled ="false"`和`android:focusable ="false"`.多谢你们! (7认同)

Gab*_*gut 37

在代码中:

editText.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)

或者,在XML中:

android:editable="false"
Run Code Online (Sandbox Code Playgroud)


MBy*_*ByD 12

假设editTextEditText反对:

editText.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)


Mak*_*lin 9

您可以尝试以下方法:

 private void disableEditText(EditText editText) {
    editText.setFocusable(false);
    editText.setEnabled(false);
    editText.setCursorVisible(false);
    editText.setKeyListener(null);
    editText.setBackgroundColor(Color.TRANSPARENT); 
 }
Run Code Online (Sandbox Code Playgroud)

启用EditText:

启用EditText

已禁用EditText:

禁用EditText

它对我有用,希望它对你有所帮助.


ram*_*har 8

只需将edittext的focusable属性设置为"false"即可.

<EditText
        android:id="@+id/EditTextInput"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:focusable="false"
        android:gravity="right"
        android:cursorVisible="true">
    </EditText>
Run Code Online (Sandbox Code Playgroud)

以下选项不起作用

在代码中:

editText.setEnabled(false); 或者,在XML中: android:editable="false"


Dan*_*okh 6

使能够:

private void enableEditText() {
    mEditText.setFocusableInTouchMode(true);
    mEditText.setFocusable(true);
    mEditText.setEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)

禁用:

private void disableEditText() {
    mEditText.setEnabled(false);
    mEditText.setFocusable(false);
    mEditText.setFocusableInTouchMode(false);
}
Run Code Online (Sandbox Code Playgroud)


Sai*_*i N 5

Edittext edittext = (EditText)findViewById(R.id.edit);
edittext.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)