谁能告诉我如何使一个EditText不可编辑通过XML?我试着设置android:editable为false,但是
已弃用;而且 但是没有成功。
谁能告诉我如何使一个EditText不可编辑通过XML?我试着设置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
}
}
}
其他回答
他们弃用了“可编辑的”,但没有在inputType中提供相应的工作。
顺便说一下,inputType="none"有什么影响吗?在我看来,用不用它没有任何区别。
例如,默认的editText是单行的。但是您必须选择一个inputType,使其为单行。如果你选择“none”,它仍然是多行。
除了@mahe madi 你也可以试试这个
editText.setEnabled(false);
editor.setTextColor(Color.BLACK);
这个方法将隐藏光标,失去焦点,更重要的是设置文本颜色为黑色,就像TextView一样。
要恢复回editText,只需这样做即可获得editText的所有属性。
editText.setEnabled(true);
希望能有所帮助。
Try
.setInputType(InputType.TYPE_NULL);
你可以使用android:editable="false",但我真的会建议你 使用setEnabled(false),因为它为用户提供了一个视觉线索 控件不能编辑。所有人都使用相同的视觉线索 禁用小部件和一致性很好。
如果你想在java代码中这样做,只需使用这一行来禁用它:
editText.setEnabled(false);
这是为了启用它:
editText.setEnabled(true);