谁能告诉我如何使一个EditText不可编辑通过XML?我试着设置android:editable为false,但是
已弃用;而且 但是没有成功。
谁能告诉我如何使一个EditText不可编辑通过XML?我试着设置android:editable为false,但是
已弃用;而且 但是没有成功。
当前回答
让你的编辑文本
EditText editText;
editText.setKeyListener(空);
会起作用,但就是听不到按键。
用户可以在编辑文本上看到光标。
你可以尝试editText.setEnabled(false);
这意味着用户看不到游标。简单地说,它将成为TextView。
其他回答
使用这段简单的代码:
textView.setKeyListener(null);
它的工作原理。
编辑:如果稍后要添加KeyListener,请执行以下操作
1:设置关键监听器为textView的标签
textView.setTag(textView.getKeyListener());
textView.setKeyListener(null);
2:从标签中获取关键监听器,并将其设置回textView
textView.setKeyListener((KeyListener) textView.getTag());
试试这段代码。它在我的项目中工作,所以它将在你的项目中工作。
android:editable="false"
只需使用android:enabled="false"即可。这也会给EditText一个外观,使它看起来不可编辑。
这样做的工作为我,我可以选择和复制到剪贴板,但我不能修改或粘贴。
android:enable="true"
android:textIsSelectable="true"
android:inputType="none"
你可以通过以下方法在edittext和editable之间切换:
public void toggleEditableOfEditText(EditText editText){
if (editText.getKeyListener() != null) {
editText.setTag(editText.getKeyListener());
editText.setKeyListener(null);
} else {
editText.setKeyListener((KeyListener) editText.getTag());
}
}
然后使用这个方法使edittext可编辑或不可编辑:
toggleEditableOfEditText(editText);