Je suis vraiment coincé sur ceci. J'essaie de faire une simple textwitcher qui incremportera une quantité et mettra à jour un prix basé sur la quantité. À l'heure actuelle, dans mon XML, j'ai quelque chose comme un TextView dans une TextSwitcher juste pour incrémenter la quantité. Je reçois le TextView avec Voici ce que j'ai à trouver pour configurer la quantité d'incrément (je suis implémentant sur le visitoir) p> Je remplace également la vision () p> < Pré> xxx pré> Aussi lorsque une touche d'incrément est enfoncée, je incrémente le compteur et définissez le texte sur le commutateur sur le nombre actuel. Comme ceci: p> peut-on me faire savoir ce que je fais mal ?? Je continue à obtenir mon nullpoinger à cette ligne: p> voici le snippet XML: p> webvied (r.id.quantitity) code>.
4 Réponses :
Assurez-vous que vous avez appelé setContentView code> avant de rechercher le TextSwitcher P>
Définissez-le sur le nom de votre fichier de mise en page. Par exemple, si votre mise en page est Simplelist.xml, vous appelleriez setContentView (r.layout.simplelist) code> (idéalement au début de votre méthode oncreate)
Il est déjà défini sur ça. Il n'a rien à voir avec setContentView
Essayez de définir un point d'arrêt immédiatement après avoir appelé Windeveviepyide (r.id.switcher), je suppose que c'est null. En outre, vous pouvez essayer de déplacer le FindviewById (R.Id.Quantitity) avant d'accéder à Switcher et voir si cela est NULL aussi.
mmm..interresting, j'avais juste le même problème ici. Dans mon cas, il y avait deux problèmes, d'abord, je revenais NULL à partir de maquillage. Que je pense que ce n'est pas votre cas car vous obtenez sa référence de FindviewyID (méfiez-vous, parfois, cette méthode échoue et vous renvoie une référence null, je vous recommanderais de mettre un point d'arrêt là-bas et de vous assurer que vous n'avez pas de pointeur NULL ). p>
Le deuxième problème que j'ai eu (et je pense que cela pourrait être aussi à vous aussi) est que le TextSwitcher apparemment ne s'attend pas à avoir une vue enfant, vous ne devriez donc pas mettre un TextView à l'intérieur comme vous le faites. Essayez de supprimer ce TextView et voyez si cela fonctionne. P>
J'ai eu le même problème de Wierd avec WeighviewyID renvoyant null. Après quelques heures de creuser, j'ai finalement pu clouer le problème: c'est une erreur dans mon code. Il y a une bonne chance que vous ayez des erreurs similaires.
Mon code était (non de code d'origine, à des fins d'illustration): p> L'erreur correspond à l'appel du constructeur. Le code dans le constructeur doit être changé en ce qui suit pour faire fonctionner les choses: p> L'erreur (et des erreurs similaires dans d'autres classes) peuvent causer toutes les ressources définies "nouvellement" non visibles non visibles. à honte sur moi, j'ai fait les mêmes erreurs deux fois aujourd'hui! P> P> FOISTVIEDBYID CODE>. P>
du Documentation pour TextSwitcher :
Settext (texte de charcuternence) définit le texte de la vue suivante et passe à la vue suivante. Cela peut être utilisé pour animer l'ancien texte dehors et animer le prochain texte dans. P> BlockQuote>
Ce qui signifie que vous aurez besoin d'au moins deux vues de texte, une avec l'ancien texte et une pour recevoir le nouveau texte et animer. Le XML suivant devrait fonctionner: P>
<TextSwitcher android:id="@+id/counter" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"/> </TextSwitcher>
J'ai mal compris "Vous aurez besoin d'au moins deux vues de texte" android.view.inflateException: Ligne de fichier XML binaire # 0: impossible d'ajouter plus de 2 vues sur une vue d'affichage code>; f
@murt Notez que cette réponse a été écrite en 2011, ils ont peut-être très bien changé le comportement de la vue de la vue depuis lors.