谁能告诉我如何使一个EditText不可编辑通过XML?我试着设置android:editable为false,但是
已弃用;而且 但是没有成功。
谁能告诉我如何使一个EditText不可编辑通过XML?我试着设置android:editable为false,但是
已弃用;而且 但是没有成功。
当前回答
我使用EditText.setFocusable(false),如果我想编辑,再次设置为true。
其他回答
<EditText
android:id="@+id/txtDate"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp"
android:layout_marginTop="2dp"
android:clickable="false"
android:cursorVisible="false"
android:gravity="center" />
并使用以下:
txtDate.setKeyListener(null);
正如在其他回答中提到的,您可以执行setEnabled(false),但由于您正在询问如何通过XML设置它,下面是如何做到这一点。
将以下属性添加到您的EditText:
android:enabled="false"
使用这段简单的代码:
textView.setKeyListener(null);
它的工作原理。
编辑:如果稍后要添加KeyListener,请执行以下操作
1:设置关键监听器为textView的标签
textView.setTag(textView.getKeyListener());
textView.setKeyListener(null);
2:从标签中获取关键监听器,并将其设置回textView
textView.setKeyListener((KeyListener) textView.getTag());
你可以使用android:editable="false",但我真的会建议你 使用setEnabled(false),因为它为用户提供了一个视觉线索 控件不能编辑。所有人都使用相同的视觉线索 禁用小部件和一致性很好。
让你的编辑文本
EditText editText;
editText.setKeyListener(空);
会起作用,但就是听不到按键。
用户可以在编辑文本上看到光标。
你可以尝试editText.setEnabled(false);
这意味着用户看不到游标。简单地说,它将成为TextView。