谁能告诉我如何使一个EditText不可编辑通过XML?我试着设置android:editable为false,但是

已弃用;而且 但是没有成功。


当前回答

如果你想点击它,但不想编辑它,试试:

        android:focusable="false"

其他回答

Kotlin扩展选项:

fun AppCompatAutoCompleteTextView.setEditable(editable: Boolean) {
    if (!editable) {
        this.tag = this.keyListener
        this.keyListener = null
    } else {
        if(this.tag is KeyListener) {
            this@setEditable.keyListener = this@setEditable.tag as KeyListener
        }
    }
}

我使用EditText.setFocusable(false),如果我想编辑,再次设置为true。

简短的回答: 我使用android:focusable="false",它工作。点击收听现在也起作用了。

他们弃用了“可编辑的”,但没有在inputType中提供相应的工作。

顺便说一下,inputType="none"有什么影响吗?在我看来,用不用它没有任何区别。

例如,默认的editText是单行的。但是您必须选择一个inputType,使其为单行。如果你选择“none”,它仍然是多行。

让你的编辑文本

EditText editText;

editText.setKeyListener(空);

会起作用,但就是听不到按键。

用户可以在编辑文本上看到光标。

你可以尝试editText.setEnabled(false);

这意味着用户看不到游标。简单地说,它将成为TextView。