Android: los tramos SPAN_EXCLUSIVE_EXCLUSIVE no pueden tener una longitud cero

Tengo el siguiente diseño (prácticamente vacío):

    

La clase de actividad contiene lo siguiente:

 public class TestActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); } } 

Cuando ejecuto esto en mi dispositivo móvil recibo el siguiente error:

 SpannableStringBuilder SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 

He intentado esto con y sin el TextView y el error aún persiste, debo estar haciendo algo fundamentalmente incorrecto para que un diseño tan básico cause esto.

¿Alguien tiene alguna idea sobre cómo puedo cargar esto sin el error?

Me encontré con las mismas entradas de error en LogCat. En mi caso, es causado por el teclado de terceros que estoy usando. Cuando lo cambio de nuevo a un teclado Android, la entrada de error ya no aparece.

Debido a que el error que está obteniendo no está relacionado con un EditText , entonces no está relacionado con su teclado.

Los errores que está obteniendo no son el resultado de su código; Probablemente esté probando en un dispositivo Samsung que tiene TouchWiz de Samsung.

Tuve los mismos errores, luego probé con un Nexus S (también de Samsung, pero con un sistema operativo Android puro sin TouchWiz) y no obtuve este error.

Entonces, en tu caso, ¡simplemente ignora estos errores mientras pruebas en un dispositivo! 🙂

Al mirar su código, no estoy seguro de por qué está recibiendo ese error, pero tuve el mismo error pero con los campos EditText.

Cambiar android:inputType="text" (o cualquiera de las otras variaciones de texto de inputType) a android:inputType="textNoSuggestions" (o android:inputType="textEmailAddress|textNoSuggestions" , por ejemplo) me lo arregló.

También puedes configurar esto en Código con algo como

 mInputField.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 

Parece que Android supone por defecto que los campos EditText tendrán sugerencias. Cuando no lo hacen, comete errores. No estoy 100% seguro en esa explicación, pero los cambios mencionados anteriormente me arreglaron.

http://developer.android.com/reference/android/text/Spanned.html#SPAN_EXCLUSIVE_EXCLUSIVE

¡Espero que esto ayude!

En su teléfono Android vaya a:
configuración -> administrador de aplicaciones -> todo -> teclado samsung y luego haga clic en “borrar caché”
(elimine todos los datos recostackdos por esta aplicación).

Intenta usar el teclado Android predeterminado, desaparecerá

Aclare que ha pasado un valor en su MainAcitivity por los siguientes métodos onCreateOptionsMenu y onCreate

En algunos casos, el desarrollador elimina la statement “return super.onCreateOptionsMenu (menu)” y cambia a “return true”.

Recibí la misma advertencia y descubrí que eliminar un @id no utilizado me deshace de la advertencia. Para mí, era obvio ya que el @id estaba asociado con una lista creciente de textViews vinculados a una base de datos, por lo que había una advertencia para cada entrada.

Masood Moshref tiene razón, este error ocurre porque el menú de opciones de Menú no está bien preparado por carecer de “return super.onCreateOptionsMenu (menu)” en el método onCreate ().

Para intentar depurar este error, primero vaya a su terminal / consola de Android y ejecute este comando:

 ps | grep THE_ERROR_PID_YOU_GET_(IT_IS_A_NUMBER) 

luego, si el resultado sale como su aplicación … es su aplicación la que está causando el error. Intenta buscar Strings vacías que pases al layout .

Tenía exactamente el mismo problema y fue mi culpa ya que estaba pasando una String vacía a mi diseño. Después de cambiar el "" a " " este error desapareció.

Si no obtiene su aplicación de la salida de la consola, entonces es otra cosa lo que la causa (probablemente, como otros dijeron, el teclado de Android)

Esto funcionó para mí … en cada dispositivo

   

mSearchText.setOnEditorActionListener (new TextView.OnEditorActionListener () {

  @Override public boolean onEditorAction(TextView textView, int actionId, KeyEvent keyEvent) { if(actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_DONE || keyEvent.getAction() == KeyEvent.ACTION_DOWN || keyEvent.getAction() == KeyEvent.KEYCODE_ENTER){ //execute our method for searching } return false; } }); 

He enfrentado el mismo problema. Casi perdí casi un par de semanas para resolver este problema. Finalmente tuve dudas sobre mí mismo y traté de crear otro proyecto copiando y pegando algunos archivos de inicio como SplashScreen & LoginScreen.

Pero con el mismo código aún estaba obteniendo SPAN_EXCLUSIVE_EXCLUSIVE .

Luego eliminé el código del controlador de la pantalla de bienvenida y lo intenté de nuevo y ¡Wow está funcionando! No recibo SPAN_EXCLUSIVE_EXCLUSIVE problema en logcat .

Me pregunto, ¿por qué es? hasta el momento no obtuvo ninguna otra solución, pero al eliminar el controlador de la pantalla de inicio, está funcionando.

Intenta actualizar aquí si se resuelve o no.

Compruebe si tiene algún elemento como el botón o la vista de texto duplicados (copiados dos veces) en la pantalla donde se encuentra. Lo hice desapercibido y tuve que enfrentar el mismo problema.

También me encontré con este problema cuando copié algún texto de Internet. Mi solución es recortar el texto / eliminar el formateo antes de continuar con el procesamiento.

Tuve el mismo problema pero con ListView … lo resolví porque estaba usando un R.id.listView incorrecto que la Vista de lista necesitaba tener un valor, en mi caso eran las cadenas las que guardé en listView2 … entonces el código correcto era R.id.listView2

¡Tuve el mismo problema, luego lo solucioné siguiendo el código!

  text = (EditText)findViewById(R.id.TextVoiceeditText); text.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 

este error también ocurre debido a la modificación de la URL de la API. intente presionar la URL que está usando en el cartero yc si funciona correctamente. volver a verificar las API resolvió mi problema

intente evitar el uso de la vista en el diseño xml. También tuve la misma prueba pero cuando eliminé la vista. funcionó perfectamente.

como ejemplo:

    

también compruebe e intente cambiar por prueba y error android: inputType = “number” a android: inputType = “text” o mejor no usarlo si no es necesario. Algunas veces, el teclado está atascado y se produce un error en algunos de los dispositivos.