在我的应用程序中,我有一个EditText,用户只有读访问权,没有写访问权。

在代码中,我设置android:enabled="false"。

虽然EditText的背景变成了黑色,但当我点击它时,键盘就会弹出来,我可以更改文本。

我应该设置什么来禁用EditText?


当前回答

这对我来说很管用:

Android:focusable=“false”

其他回答

您可以尝试以下方法:

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

启用EditText:

禁用EditText:

这对我有用,希望能帮到你。

android:editable="false"

现在已弃用和使用

 YourEditText.setInputType(InputType.TYPE_NULL);

禁用=焦点+点击+光标

禁用焦点、单击和光标可见性对我来说很管用。

下面是XML格式的代码

<EditText
    android:id="@+id/name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:focusable="false"
    android:cursorVisible="false"
    android:clickable="false"
    />

简单:

editText.setEnabled(false);

在你的XML代码中设置这个,它可以工作。

android:focusableInTouchMode=“false”