Cómo deshabilitar EditText en Android
-
28-10-2019 - |
Pregunta
¿Cómo puedo deshabilitar la escritura en un EditText
campo en Android?
Solución
Creo que es un error en Android ... se puede solucionar agregando este parche :)
Verifique estos enlacesPregunta 1yPregunta 2
Espero que sea útil.
Otros consejos
puedes usar EditText.setFocusable(false)
para deshabilitar la ediciónEditText.setFocusableInTouchMode(true)
para habilitar la edición;
En codigo:
editText.setEnabled(false);
O, en XML:
android:editable="false"
Asumiendo editText
eres tu EditText
objeto:
editText.setEnabled(false);
Puede probar el siguiente método:
private void disableEditText(EditText editText) {
editText.setFocusable(false);
editText.setEnabled(false);
editText.setCursorVisible(false);
editText.setKeyListener(null);
editText.setBackgroundColor(Color.TRANSPARENT);
}
Activado EditText:
EDITTEXT DE DISCAPACIDAD:
Funciona para mí y espero que te ayude.
Simplemente establezca la propiedad enfocable de su editText en "falso" y ya está terminado.
<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>
Las opciones a continuación no funcionan
En codigo:
editText.setEnabled(false);
O, en XML:android:editable="false"
Edittext edittext = (EditText)findViewById(R.id.edit);
edittext.setEnabled(false);
El siguiente código deshabilita el edittext en Android
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
Habilitar:
private void enableEditText() {
mEditText.setFocusableInTouchMode(true);
mEditText.setFocusable(true);
mEditText.setEnabled(true);
}
Deshabilitar:
private void disableEditText() {
mEditText.setEnabled(false);
mEditText.setFocusable(false);
mEditText.setFocusableInTouchMode(false);
}
Para deshabilitar un editText en Android:
editText.setEnabled(false);
Puedes escribir edittext.setInputType(0)
Si desea mostrar el edittext pero no ingresar ningún valor
Escribe esto en el padre:
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
Ejemplo:
<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" />
Según yo ... si ya has declarado el edittext
en el archivo XML y configure la propiedad en el archivo XML "android:enabled=false"
y deshabilitar en tiempo de ejecución en ese momento en el archivo Java agregando solo 2 o 3 líneas
- Primero crea el objeto
- Declarar editText et1;
Obtener por identificación
et1 = (EditText) FindViewById(R.id.edittext1);
et1.setEnabled(false);
Puede habilitar o deshabilitar cada control en tiempo de ejecución por archivo Java y tiempo de diseño por archivo XML.
El XML editable
la propiedad está en desuso desde API Nivel 15.
Deberías usar ahora el inputType
propiedad con el valor none
. Pero hay un error que hace que esta funcionalidad sea inútil.
Aquí Puede seguir el estado del problema.