Android - SPAN_EXCLUSIVE_EXCLUSIVE s'étend sur ne peut pas avoir une longueur de zéro
J'ai le schéma suivant (presque vide):
<?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 classe d'Activité contient les éléments suivants:
public class TestActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
}
}
Lorsque je l'exécute sur mon mobile j'obtiens l'erreur suivante:
SpannableStringBuilder
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
J'ai essayé avec et sans le TextView et l'erreur reste encore, je dois être en train de faire quelque chose de fondamentalement mauvais pour une mise de base à cause de cela.
Quelqu'un a une idée sur comment je peux l'obtenir pour charger sans l'erreur?
- Examiner LogCat et de regarder la trace de la pile associée à votre erreur. Si c'est en effet à partir de cette application, afficher la totalité de la trace de la pile comme une modification à votre question. Aussi, je voudrais me débarrasser de
android:contentDescription
deLinearLayout
, où le conteneur n'est pas focusable et, par conséquent, la description ne sera pas utilisé à ma connaissance. - Merci pour votre réponse. Malheureusement, il n'existe aucune trace de la pile pour cette erreur, la sortie est exactement comme je l'ai posté ci-dessus, mais le champ d'application dans le LogCat n'est point à ma demande. J'ai débogué le code et renforcé à travers chaque ligne, sans erreur est générée, donc il doit être quelque part dans le code Android qui est à attendre quelque chose qui n'est pas là.
- Je voudrais savoir comment faire pour éviter cette fâcheuse erreur de trop, sans supprimer/désactiver toute fonctionnalité pour l'utilisateur final.
- J'ai réinitialiser le téléphone aux paramètres d'usine et il s'en alla, après avoir essayé le "samsung clavier fixe" qui ne semble pas faire l'affaire pour moi...
- Peut-être qu'il n'est pas du tout un problème, mais après la mise à jour vers Android 4.1.1 je vois beaucoup d'erreurs dans les journaux comme celui-ci. SPAN_EXCLUSIVE_EXCLUSIVE s'étend sur ne peut pas avoir une longueur de zéro
- Je ne reçois cette erreur sur un Pixel en cours d'exécution Android P de sorte qu'il peut être quelque chose de Google doit encore repasser.
Vous devez vous connecter pour publier un commentaire.
J'ai couru dans la même erreur entrées dans le LogCat. Dans mon cas, elle est causée par le 3e partie clavier que j'utilise. Quand j'ai changer de clavier Android, l'entrée d'erreur ne s'affiche pas plus.
EditText
-vue dans la mise en page indiqué dans la question, donc je ne comprends pas comment peut-il être lié à l'entrée et le clavier. Je crois que le problème est causé par certaines relatives à la présentation du bug dans TouchWiz de Samsung, parce que je reçois la même erreur que dans la question quand je test mes appli sur mon appareil Samsung, et toutTextView
est mis à jour, en raison de la rotation de l'écran ou quelque chose de semblable. Je serais heureux si l'erreur peut aller loin, mais en attendant que je trouve une solution, je pense que je vais vivre avec elle...Parce que l'erreur que vous obtenez est pas liées à un
EditText
, alors il est pas liés à votre clavier.Les erreurs que vous obtenez ne sont pas un résultat de votre code, vous avez probablement sont à l'essai sur un appareil Samsung a Samsung TouchWiz.
J'ai eu le même message d'erreur, alors j'ai testé sur un Nexus S (également par Samsung, mais pur Android OS, sans TouchWiz) et je n'ai pas cette erreur.
Donc, dans votre cas, il suffit d'ignorer ces erreurs lors de tests sur un appareil! 🙂
En regardant ton code, je ne suis pas sûr de savoir pourquoi vous obtenez cette erreur, mais j'ai eu ce même message d'erreur mais avec EditText champs.
Changer
android:inputType="text"
(ou l'une de l'autre inputType texte variations) àandroid:inputType="textNoSuggestions"
(ouandroid:inputType="textEmailAddress|textNoSuggestions"
, par exemple), il fixe pour moi.Vous pouvez également définir dans le Code avec quelque chose comme
Ressemble à Android suppose par défaut que EditText champs ont des suggestions. Quand ils ne le font pas, c'erreurs. Pas 100% confiance en ses explications, mais les changements mentionnés ci-dessus, il fixe pour moi.
http://developer.android.com/reference/android/text/Spanned.html#SPAN_EXCLUSIVE_EXCLUSIVE
Espérons que cette aide!
Sur votre téléphone android, allez à:
paramètres -> gestionnaire d'applications -> all -> samsung clavier, puis cliquez sur "vider le cache"
(supprimer toutes les données recueillies par cette application).
Essayez d'utiliser la valeur par défaut du clavier Android, il va disparaître
Clairement que vous avez passer une valeur dans votre MainAcitivity pour les méthodes suivantes onCreateOptionsMenu et onCreate
Dans certains cas, le développeur supprime le "return super.onCreateOptionsMenu(menu)" déclaration et changé pour "return true".
Dans du code Java:
J'ai eu le même avertissement et a constaté que la suppression d'un inutilisés @id se débarrasser de l'avertissement. Pour moi, il était évident que l' @id a été associée à une liste croissante de textViews lié à une base de données, donc il y avait un avertissement pour chaque entrée.
Masood Moshref est droit, cette erreur se produit parce que le menu option de Menu n'est pas bien préparé par défaut "return super.onCreateOptionsMenu(menu)" dans onCreate() de la méthode.
Pour essayer de déboguer cette erreur, allez d'abord à votre terminal android /console et exécutez cette commande:
alors si la sortie en tant que votre app... c'est votre application à l'origine de l'erreur. Essayez de regarder pour les vide
Strings
que vous passez dans lelayout
.J'ai eu exactement ce même problème et c'était de ma faute, j'ai été en passant un vide
String
dans ma mise en page. Après la modification de la""
à" "
cette erreur a disparu.Si vous n'obtenez pas votre application à partir de la sortie de la console, alors c'est autre chose, elle provoque (probablement, comme d'autres ont dit, le clavier android)
Que j'ai rencontré le même problème. J'ai presque gaspillé près de deux semaines à résolu ce problème.
Enfin j'avais un doute sur moi-même et a essayé de créer un autre projet par copie et coller des fichiers de démarrage comme le SplashScreen & LoginScreen.
Mais avec le même code que je recevais SPAN_EXCLUSIVE_EXCLUSIVE.
Puis j'ai enlevé le code du gestionnaire de l'écran de démarrage et essayé de nouveau et Wow son travail.
Je ne suis pas arriver SPAN_EXCLUSIVE_EXCLUSIVE problème dans logcat.
Je demandais, pourquoi il est? jusqu'à l'époque n'a pas obtenir de toute autre solution, mais en supprimant gestionnaire à partir de l'écran de démarrage il fonctionne.
Essayer et de mettre à jour ici si c'est résolu ou pas.
Vérifier si vous avez tout élément tel que le bouton ou l'affichage de texte dupliqué (copié deux fois) dans l'écran où cette rencontre. Je l'ai fait inaperçue et a dû faire face au même problème.
J'ai rencontré ce problème aussi quand j'ai copié du texte à partir de l'Internet. Ma solution est de découper le texte/supprimer la mise en forme avant de faire tout autre traitement.
J'ai eu le même problème, mais avec un contrôle listView.... je l'ai résolu parce que j'étais un mauvais R. id.listView avec Affichage de la liste nécessaire pour avoir une valeur, dans mon cas c'était les chaînes que j'ai enregistré sur listView2... donc le bon code a été R. id.listView2
J'ai eu le même problème alors je l'ai fixée par le code suivant!
cette erreur se produit également en raison d'un changement de l'API URL. essayez de frapper l'URL que vous utilisez dans postier et c si elle fonctionne correctement.
revérifier l'Api résolu mon problème
essayez d'éviter l'utilisation de vue dans la conception de xml.Moi aussi j'avais le même problème mais quand j'ai enlevé la vue. sa a fonctionné parfaitement.
comme exemple:
également vérifier et essayer de changer par essai et erreur android:inputType="nombre" à android:inputType="texte" ou mieux de ne pas l'utiliser si besoin est .Parfois clavier coincé et obtient erreur dans certains appareils.