tipos - Android: EditText no puede enfocar después de volver a habilitarse
edittext android style (1)
Tengo un TabHost con tres pestañas. El contenido de la primera pestaña es la intención de una actividad personalizada cuya vista de contenido es un diseño relativo que contiene dos EditTexts y dos CheckBoxes (y un botón).
Cada checbox, cuando está marcado, habilita / deshabilita un EditText y el otro checkbox. Y lo hice así:
chkPolaziste.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked )
{
entryPolaziste.setFocusable(false);
entryPolaziste.setEnabled(false);
chkOdrediste.setFocusable(false);
chkOdrediste.setEnabled(false);
}
else
{
entryPolaziste.setEnabled(true);
entryPolaziste.setFocusable(true);
chkOdrediste.setEnabled(true);
chkOdrediste.setFocusable(true);
}
}
});
Y eso funciona. Cuando se marca una casilla de verificación, se desactiva la otra casilla de verificación y su EditText, y cuando la desactivo, EditText y la otra casilla de verificación están activadas. Pero, una vez habilitado, no puedo escribir nada en el EditText. Simplemente parpadea por un momento cuando hago clic en él y cambia el enfoque a otra vista. Me parece que el control no está completamente habilitado.
También traté de forzar el enfoque en el EditText re-habilitado con requestFocus (), y traté de establecer FocusableInTouchMode (), pero ninguno había funcionado.
No tengo un dispositivo Android, así que solo lo pruebo en el emulador (el SDK mínimo es 1.6).
Solución:
Use setFocusableInTouchMode
y setFocusable
, ambos.