No hay cursor en editText en Honeycomb
Tengo una aplicación que utiliza una ime interna (lo que significa que el ime es sólo el código dentro de la aplicación y no un ime verdadero). Utilizo este panel de ime para entrar / editar un editText. Todo funciona bien hasta Froyo (no he probado bajo Gingerbread). En Honeycomb, sin embargo, puedo ingresar texto y editarlo, pero no se muestra ningún cursor o resaltado de texto. ¿Alguien sabe cómo solucionar este problema? Prefiero no bifurcar mi código a una versión especial Honeycomb sólo para corregir este problema.
He definido explícitamente el elemento cursorVisible de xml a true y luego lo configuro como true con setCursorVisible en el código pero eso no ayuda.
- ¿Cómo hace un Android EditText (TextView) dibujar el cursor parpadeante?
- El texto se ensucia con ImageSpan en EditText
- ¿Cómo puedo ocultar el cursor de la burbuja en EditText?
- AppCompat y EditText subrayado diferente en diferentes API
- Sugerencias de teclado hacen que parte del mensaje de Android EditText.setError () no se muestre
¡Gracias!
- Cambiar el color del puntero del cursor EditText de Android mediante programación
- Editado
- Dibujable a la derecha en el texto de edición sin actualizar después del error
- Establecer color del cursor EditText
- MultiautoCompleteTextView ime keyabord no muestra sugerencias
- Cómo restringir los caracteres especiales de un campo Android EditText?
- Cambiar dónde comienza el cursor en un EditText expandido
- Impedir que edittext esté vacío
Agregue estos atributos a su EditText, para hacer que el cursor parpadee en negro:
android:textColor="#000000" android:textCursorDrawable="@null"
Es necesario si estás usando el tema Holo. De: https://stackoverflow.com/a/9165217/1267112
Puedes probar el código siguiente.
public static void setCursorVisible(EditText editText, Context context) { editText.setCursorVisible(true); // sdk // http://developer.android.com/guide/topics/manifest/uses-sdk-element.html if (android.os.Build.VERSION.SDK_INT >= 12) {// Android 3.1.x API12 // HONEYCOMB_MR1 String filedNameString = "mCursorDrawableRes"; // mCursorDrawableRes Class<? extends EditText> editTextClass = editText.getClass(); Class<? extends TextView> textViewClass = null; if (editTextClass != null) { textViewClass = (Class<? extends TextView>) editTextClass .getSuperclass(); } if (textViewClass != null) { Field mCursorDrawableField = null; try { mCursorDrawableField = textViewClass .getDeclaredField(filedNameString); } catch (NoSuchFieldException e) { // TODO Auto-generated catch block Log.i(TAG, "NoSuchFieldException"); e.printStackTrace(); } if (mCursorDrawableField != null) { mCursorDrawableField.setAccessible(true); try { mCursorDrawableField.set(editText, 0); } catch (IllegalArgumentException e) { Log.i(TAG, "IllegalArgumentException"); e.printStackTrace(); } catch (NotFoundException e) { Log.i(TAG, "NotFoundException"); e.printStackTrace(); } catch (IllegalAccessException e) { Log.i(TAG, "IllegalAccessException"); e.printStackTrace(); } } } }
- Aplicación de transferencia a la aplicación Samsung Galaxy Tab
- Android Studio Gradle androidTest vs instrumentTest