And*_*lva 36 android android-edittext
我有一个EditText,用户不应该在其中提供输入.所以我尝试禁用它
edittext.setEnabled(false);
edittext.setClickable(false);
Run Code Online (Sandbox Code Playgroud)
但是当我从其他一些EditText按下softKeyboard中的"next"按钮时,它会将我引导到一个不应该可编辑的按钮,并且我能够将值插入其中.怎么避免这个?
Khu*_*zad 38
这很好用; 只需将edittext的focusable属性设置为"false"即可.
<EditText
android:id="@+id/EditTextInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:gravity="right"
android:cursorVisible="true">
</EditText>
Run Code Online (Sandbox Code Playgroud)
cod*_*cat 31
不要搞砸你自己.只是简单的工作使用下面一个
首先,保存EditText的键监听器:
KeyListener mKeyListener = yourTextView.getKeyListener();
yourTextView.setKeyListener(null);
Run Code Online (Sandbox Code Playgroud)
然后,如果要再次启用编辑,请将已保存的侦听器分配回:
yourTextView.setKeyListener(mKeyListener);
Run Code Online (Sandbox Code Playgroud)
Azi*_*ari 17
yourEditText.setKeyListener(null);
Run Code Online (Sandbox Code Playgroud)
无需删除焦点并设置可点击的错误.
只需删除关键监听器即可完成.
还使用Android 6.0进行了测试
好.我做了这样的事情并得到了结果.
edittext.setEnabled(false);
edittext.setGravity(Gravity.CENTER);
edittext.setClickable(false);
edittext.setFocusable(false);
edittext.setFilters(new InputFilter[] { new textChange() });
edittext.setInputType(0);
class textChange implements InputFilter {
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
return dest.subSequence(dstart, dend);
}
}
Run Code Online (Sandbox Code Playgroud)
android:focusable="false"
android:longClickable="false"
Run Code Online (Sandbox Code Playgroud)
将这两个字段添加到您的 EditText 将禁用焦点并禁用将数据复制粘贴到您的 EditText 字段中。
| 归档时间: |
|
| 查看次数: |
55166 次 |
| 最近记录: |