//enable view's focus event on touch mode
edittext.setFocusableInTouchMode(true);
//enable cursor is visible
edittext.setCursorVisible(true);
// You have to focus on the edit text to avoid having to click it twice
//request focus
edittext.requestFocus();
//show keypad is used to allow the user input text on the first click
InputMethodManager openKeyboard = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
openKeyboard.showSoftInput(edittext, InputMethodManager.SHOW_IMPLICIT);
9条答案
按热度按时间gijlo24d1#
使用
android:clickable=“false”
. but如果你想使用onclick监听器。不使用
android:clickable=“false”
..使用
android:cursorVisible=“false”android:focusable=“false”.
pzfprimi2#
代码
XML格式
结果
Java代码
您可以在运行时使用此代码实现相同的结果
dluptydi3#
如果您使用的输入类型不是文本或数字,如日期或日期和时间,则可以使用
android:inputType="date"
或android:inputType="datetime"
或android:inputType="time"
。如果你不使用任何这样的输入类型,你可以使用android:inputType="none"
。w1e3prcc4#
上面所有建议更改XML标记的答案似乎都不起作用。然而,我设法通过代码实现了类似的结果。
只需用途:
setString(null);
a8jjtwal5#
如果您想使用EditText的单击并禁用输入,请使用此选项
wydwbb8l6#
您可以从TextWatcher控制EditText的行为
所以用户可以进入到控件中,可以复制它的内容。但如果你不允许他也改不了。
jv4diomz7#
使用
而不是
ldfqzlk88#
当你使用inputType=none时,输入类型并没有按照你期望的方式工作
但是你可以用它来使你的editText不可编辑,我认为这是你想要实现的
如果你想让EditText再次可编辑,你可以通过代码来实现
注意我使用的是
android:focusableInTouchMode="false"
而不是因为当我使用
我还得加上
就像这样
再次启用edittext焦点
xesrikrc9#
可以在如下代码中设置它: