Tengo el siguiente diseño (prácticamente vacío):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/set_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="content desc"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
</LinearLayout>
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, aparece el siguiente error:
SpannableStringBuilder
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
He intentado esto con y sin TextView y el error aún permanece, debo estar haciendo algo fundamentalmente incorrecto para que un diseño tan básico cause esto.
¿Alguien tiene alguna idea sobre cómo puedo hacer que esto se cargue sin el error?
android:contentDescription
partirLinearLayout
, como el contenedor no es enfocable y por lo tanto la descripción no se utilizará yo sepa.Respuestas:
Me he encontrado 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 al teclado de Android, la entrada de error ya no aparece.
fuente
Debido a que el error que se produce es no relacionada con una
EditText
, entonces es no relacionado con su teclado.Los errores que está recibiendo no son el resultado de su código; Probablemente esté probando en un dispositivo Samsung que tenga TouchWiz de Samsung.
Tuve los mismos errores, luego probé en un Nexus S (también de Samsung, pero con un sistema operativo Android puro sin TouchWiz) y no obtuve este error.
Entonces, en su caso, ¡simplemente ignore estos errores mientras prueba en un dispositivo! :)
fuente
Mirando 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 inputType) aandroid:inputType="textNoSuggestions"
(oandroid:inputType="textEmailAddress|textNoSuggestions"
, por ejemplo) lo arregló para mí.También puede configurar esto en Código con algo como
Parece que Android asume por defecto que los campos EditText tendrán sugerencias. Cuando no lo hacen, se equivoca. No estoy 100% seguro de esa explicación, pero los cambios mencionados anteriormente me lo arreglaron.
http://developer.android.com/reference/android/text/Spanned.html#SPAN_EXCLUSIVE_EXCLUSIVE
¡Espero que esto ayude!
fuente
En su teléfono Android, vaya a:
configuración -> administrador de aplicaciones -> todos -> teclado samsung y luego haga clic en "borrar caché"
(elimine todos los datos recopilados por esta aplicación).
fuente
Intenta usar el teclado predeterminado de Android, desaparecerá
fuente
Deje en claro que ha pasado un valor en su MainAcitivity para los siguientes métodos onCreateOptionsMenu y onCreate
En algunos casos, el desarrollador elimina la instrucción "return super.onCreateOptionsMenu (menu)" y cambia a "return true".
fuente
En código Java:
fuente
Tuve la misma advertencia y descubrí que al eliminar un @id no utilizado se eliminó la advertencia. Para mí era obvio ya que el @id estaba asociado con una creciente lista de TextViews vinculadas a una base de datos, por lo que había una advertencia para cada entrada.
fuente
Masood Moshref tiene razón, este error se produce porque el menú de opciones de Menú no está bien preparado al carecer de "return super.onCreateOptionsMenu (menu)" en el método onCreate ().
fuente
Para intentar depurar este error, primero vaya a su terminal / consola de Android y ejecute este comando:
entonces, si el resultado sale como su aplicación ... es su aplicación la que causa el error. Intenta buscar el vacío
Strings
que pasas allayout
.Tuve exactamente el mismo problema y fue mi culpa ya que estaba pasando un vacío
String
en mi diseño. Después de cambiar""
a" "
este error desapareció.Si no obtiene su aplicación desde la salida de la consola, entonces es algo más lo que la causa (probablemente, como otros dijeron, el teclado de Android)
fuente
Me he enfrentado al mismo problema. Casi perdí casi un par de semanas para resolver este problema. Finalmente tuve dudas sobre mí mismo e intenté crear otro proyecto copiando y pegando algunos archivos de inicio como SplashScreen & LoginScreen.
Pero con el mismo código todavía estaba obteniendo SPAN_EXCLUSIVE_EXCLUSIVE .
Luego, eliminé el código del controlador de la pantalla de bienvenida e intenté nuevamente y Wow está funcionando. No obtengo el problema SPAN_EXCLUSIVE_EXCLUSIVE 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.
Pruebe y actualice aquí si se resuelve o no.
fuente
Verifique si tiene algún elemento como botón o vista de texto duplicado (copiado dos veces) en la pantalla donde esto se encuentra. Lo hice desapercibido y tuve que enfrentar el mismo problema.
fuente
También me encontré con este problema cuando copié parte del texto de Internet. Mi solución es recortar el texto / eliminar el formato antes de realizar cualquier procesamiento adicional.
fuente
Tuve el mismo problema pero con un listView ... lo resolví porque estaba usando un R.id.listView incorrecto, esa View List necesitaba tener un valor, en mi caso eran cadenas que guardé en listView2 ... entonces el código correcto era R.id.listView2
fuente
Tuve el mismo problema y luego lo arreglé siguiendo el código.
fuente
Este error también se produce debido a un cambio de URL de API. intente presionar la URL que está utilizando en cartero yc si funciona correctamente. volver a verificar las API resolvió mi problema
fuente
trate de evitar el uso de la vista en el diseño xml. Yo también tenía la misma sonda pero cuando eliminé la vista. Funcionó perfectamente.
como ejemplo:
también verifique e intente cambiar por prueba y error android: inputType = "number" a android: inputType = "text" o mejor no usarlo si no es necesario. A veces el teclado se atasca y se produce un error en algunos de los dispositivos.
fuente
En mi caso, los campos EditText con inputType como text / textCapCharacters estaban encerrando este error. Me di cuenta de esto en mi logcat cada vez que usé la tecla de retroceso para eliminar completamente el texto escrito en cualquiera de estos campos.
La solución que funcionó para mí fue cambiar el inputType de esos campos a textNoSuggestions ya que este era el tipo más adecuado y ya no me daba ningún error no deseado.
fuente