J'ai la disposition suivante (pratiquement 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 Activity 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 appareil mobile, j'obtiens l'erreur suivante:
SpannableStringBuilder
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
J'ai essayé cela avec et sans le TextView et l'erreur persiste, je dois faire quelque chose de fondamentalement faux pour qu'une telle disposition de base provoque cela.
Quelqu'un a-t-il des idées sur la façon dont je peux charger cela sans l'erreur?
android:contentDescription
partirLinearLayout
, car ce conteneur n'est pas focalisable et donc la description ne sera pas utilisé à ma connaissance.Réponses:
J'ai rencontré les mêmes entrées d'erreur dans LogCat. Dans mon cas, cela est dû au clavier tiers que j'utilise. Lorsque je le change pour le clavier Android, l'entrée d'erreur ne s'affiche plus.
la source
Parce que l'erreur que vous obtenez n'est pas liée à un
EditText
, alors ce n'est pas liée à votre clavier.Les erreurs que vous obtenez ne sont pas le résultat de votre code; vous testez probablement sur un appareil Samsung équipé du TouchWiz de Samsung.
J'ai eu les mêmes erreurs, puis j'ai testé sur un Nexus S (également de Samsung, mais pur Android OS sans TouchWiz) et je n'ai pas eu cette erreur.
Donc, dans votre cas, ignorez simplement ces erreurs lors du test sur un appareil! :)
la source
En regardant votre code, je ne sais pas pourquoi vous obtenez cette erreur, mais j'ai eu la même erreur mais avec les champs EditText.
Changer
android:inputType="text"
(ou l'une des autres variations de texte inputType) enandroid:inputType="textNoSuggestions"
(ouandroid:inputType="textEmailAddress|textNoSuggestions"
, par exemple) l'a corrigé pour moi.Vous pouvez également définir cela dans Code avec quelque chose comme
On dirait qu'Android suppose par défaut que les champs EditText contiendront des suggestions. Quand ils ne le font pas, c'est des erreurs. Pas 100% confiant dans cette explication, mais les changements mentionnés ci-dessus l'ont corrigé pour moi.
http://developer.android.com/reference/android/text/Spanned.html#SPAN_EXCLUSIVE_EXCLUSIVE
J'espère que cela t'aides!
la source
Sur votre téléphone Android, allez dans:
paramètres -> gestionnaire d'applications -> tout -> clavier samsung puis cliquez sur "vider le cache"
(supprimer toutes les données collectées par cette application).
la source
Essayez d'utiliser le clavier Android par défaut, il disparaîtra
la source
Indiquez clairement que vous avez transmis une valeur dans votre MainAcitivity pour les méthodes suivantes onCreateOptionsMenu et onCreate
Dans certains cas, le développeur supprime l'instruction «return super.onCreateOptionsMenu (menu)» et la remplace par «return true».
la source
En code Java:
la source
J'ai eu le même avertissement et j'ai constaté que la suppression d'un @id inutilisé éliminait l'avertissement. Pour moi, c'était évident car le @id était associé à une liste croissante de textViews liées à une base de données, il y avait donc un avertissement pour chaque entrée.
la source
Masood Moshref a raison, cette erreur se produit car le menu d'options de Menu n'est pas bien préparé en l'absence de "return super.onCreateOptionsMenu (menu)" dans la méthode onCreate ().
la source
Pour essayer de déboguer cette erreur, accédez d'abord à votre terminal / console Android et exécutez cette commande:
puis si la sortie sort comme votre application ... c'est votre application qui cause l'erreur. Essayez de chercher le vide
Strings
que vous passez dans lelayout
.J'ai eu exactement le même problème et c'était de ma faute car je passais un vide
String
dans ma mise en page. Après avoir changé le""
à" "
cette erreur alla.Si vous n'obtenez pas votre application à partir de la sortie de la console, c'est quelque chose d'autre qui en est la cause (probablement, comme d'autres l'ont dit, le clavier Android)
la source
J'ai été confronté au même problème. J'ai presque perdu près de deux semaines pour résoudre ce problème. Finalement, j'ai eu un doute sur moi-même et j'ai essayé de créer un autre projet en copiant et collant des fichiers de démarrage comme SplashScreen & LoginScreen.
Mais avec le même code, j'obtenais toujours SPAN_EXCLUSIVE_EXCLUSIVE .
Ensuite, j'ai supprimé le code du gestionnaire de l'écran de démarrage et essayé à nouveau et Wow son fonctionnement. Je ne reçois pas de problème SPAN_EXCLUSIVE_EXCLUSIVE dans logcat .
Je me demande, pourquoi c'est? jusqu'à ce que le temps n'obtienne aucune autre solution, mais en supprimant le gestionnaire de l'écran de démarrage, cela fonctionne.
Essayez de mettre à jour ici s'il est résolu ou non.
la source
Vérifiez si vous avez un élément tel qu'un bouton ou une vue de texte dupliqué (copié deux fois) dans l'écran où cela se rencontre. J'ai fait cela inaperçu et j'ai dû faire face au même problème.
la source
J'ai également rencontré ce problème lorsque j'ai copié du texte sur Internet. Ma solution consiste à couper le texte / supprimer la mise en forme avant de procéder à tout autre traitement.
la source
J'ai eu le même problème mais avec un listView ... je l'ai résolu parce que j'utilisais un mauvais R.id.listView que la liste View devait avoir une valeur, dans mon cas, c'était des chaînes que j'avais enregistrées sur listView2 ... donc le bon code était R.id.listView2
la source
J'ai eu le même problème puis je l'ai résolu en suivant le code!
la source
cette erreur se produit également en raison d'une URL d'API modifiée. essayez de frapper l'URL que vous utilisez dans postman et c si cela fonctionne correctement. revérifier les API a résolu mon problème
la source
essayez d'éviter d'utiliser la vue dans la conception xml.J'ai aussi eu le même problème, mais lorsque j'ai supprimé la vue. son a parfaitement fonctionné.
comme exemple:
Vérifiez également et essayez de changer par essais et erreurs android: inputType = "number" en android: inputType = "text" ou mieux ne pas l'utiliser si ce n'est pas nécessaire. Parfois, le clavier est bloqué et obtient une erreur dans certains appareils.
la source
Dans mon cas, les champs EditText avec inputType comme text / textCapCharacters casse cette erreur. J'ai remarqué cela dans mon logcat chaque fois que j'utilisais le retour arrière pour supprimer complètement le texte tapé dans l'un de ces champs.
La solution qui a fonctionné pour moi était de changer le inputType de ces champs en textNoSuggestions car c'était le type le plus adapté et ne me donnait plus d'erreurs indésirables.
la source