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

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


当前回答

请试试这个!,它可能会帮助一些人

<EditText  
android:enabled="false"
android:textColor="#000000"/>

其他回答

试试这段代码。它在我的项目中工作,所以它将在你的项目中工作。

android:editable="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 xml文件:

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

它的效果与android:editable="false"相同。对我有用,希望对你也有用。

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

只需使用android:enabled="false"即可。这也会给EditText一个外观,使它看起来不可编辑。