如何EditText
在 Android 中禁用在字段中输入?
18 回答
您可以使用EditText.setFocusable(false)
禁用编辑EditText.setFocusableInTouchMode(true)
来启用编辑;
在代码中:
editText.setEnabled(false);
或者,在 XML 中:
android:editable="false"
假设editText
你EditText
反对:
editText.setEnabled(false);
您可以尝试以下方法:
private void disableEditText(EditText editText) {
editText.setFocusable(false);
editText.setEnabled(false);
editText.setCursorVisible(false);
editText.setKeyListener(null);
editText.setBackgroundColor(Color.TRANSPARENT);
}
启用 EditText :
禁用 EditText :
它对我有用,希望对你有帮助。
只需将 edittext 的可聚焦属性设置为“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>
以下选项不起作用
在代码中:
editText.setEnabled(false);
或者,在 XML 中:
android:editable="false"
Edittext edittext = (EditText)findViewById(R.id.edit);
edittext.setEnabled(false);
使能够:
private void enableEditText() {
mEditText.setFocusableInTouchMode(true);
mEditText.setFocusable(true);
mEditText.setEnabled(true);
}
禁用:
private void disableEditText() {
mEditText.setEnabled(false);
mEditText.setFocusable(false);
mEditText.setFocusableInTouchMode(false);
}
edittext.setInputType(0)
如果要显示编辑文本但不输入任何值,则可以编写
下面的代码禁用了 android 中的 EditText
editText.setEnabled(false);
edittext.setFocusable(false);
edittext.setEnabled(false);
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0);
//removes on screen keyboard
要在 android 中禁用 edittext:
editText.setEnabled(false);
据我说...如果您已经在 XML 文件中声明并edittext
在 XML 文件中设置属性"android:enabled=false"
并在运行时禁用它,当时在 java 文件中只添加 2 或 3 行
- 首先创建对象
- 声明 EditText et1;
通过身份证获取
et1 = (EditText) FindViewById(R.id.edittext1);
et1.setEnabled(false);
您可以在运行时通过 java 文件和设计时通过 XML 文件启用或禁用每个控件。
在父母中写下:
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
例子:
<RelativeLayout
android:id="@+id/menu_2_zawezanie_rl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/menu_2_horizontalScrollView"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:orientation="horizontal"
android:background="@drawable/rame">
<EditText
android:id="@+id/menu2_et"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/menu2_ibtn"
android:gravity="center"
android:hint="@string/filtruj" >
</EditText>
<ImageButton
android:id="@+id/menu2_ibtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="@null"
android:src="@drawable/selector_btn" />
inputType
在 EditText 下的 layout.xml 文件中将属性设置为 none
试试这个 Kotlin 代码,
editField.isEnabled = !editField.isEnabled
右键单击文本区域并取消选中可编辑选项: