Pourquoi
TextView test = (TextView) findViewById(R.id.testTextView); test.getText();
7 Réponses :
La seule raison de FOETVIEDBYID CODE> Pour renvoyer NULL si vous passez une pièce d'identité valide, c'est que vous définissez la vue de contenu incorrect (avec
setContentView code>) ou non Vue du contenu du tout. P>
Merci pour votre message, mais ce n'est pas ça. J'appelle setContentView code> dans
Oncreate code>.
Pourriez-vous s'il vous plaît partager votre mise en page Oncreate et XML?
Le projet propre semble avoir fixé quel que soit le problème. Enfer sanglant.
Je suis confronté au même problème, mais dans mon cas, je n'utilise pas SetContentView car c'est un fragment, alors j'utilise View = Inflatra.inflate (r.layout.test, conteneur, faux); Mais cela me donne des erreurs, pas dans l'oncreemethod mais dans une méthode séparée ...
Merci beaucoup. Je serais embrasser si je pouvais, je devais être désespéré, je n'ai pas fait attention, je passais la mauvaise mise en page à setContent. tandis que (1) {merci; }
Vous n'avez probablement pas appelé Vous pouvez également utiliser une mise en pageInflater pour gonfler la vue, mais ce n'est probablement pas ce que vous voulez. P> setContentView code>. Vous ne pouvez utiliser que
FOETVIEWBYID CODE> pour obtenir des éléments de vues déjà gonflés. P>
Merci pour votre message, mais ce n'est pas ça. J'appelle setContentView code> dans
Oncreate code>.
Merci. Mais ça ne marche pas. Je veux que tout le monde cesse d'essayer d'expliquer et de nous laisser produire un exemple de travail que nous pouvons utiliser. Je ne peux pas tester une explication. Je ne sais pas quoi appeler SetContentView sur. Quel paramètre? Je vous donne -1 parce qu'il n'y a rien à utiliser. S'il vous plaît arrêtez de commenter et de commencer à résoudre le problème.
Êtes-vous sûr que le TextView est défini sur la droite XML?
Par exemple, si vous créez une boîte de dialogue qui charge un XML personnalisé, pour obtenir un élément de ce XML, vous devez le mentionner dans Comme dit Falmarri, la vue doit être gonflée.
Je comprends que vous avez résolu cela en créant un nouveau projet, mais pensait toujours à en mentionner pour les futurs utilisateurs. P> dialog.findvieweby (r.id.testtextview); code> p>
Je pense que vous pourriez avoir écrit SetContentView (..) après avoir défini le TextView. Inverser ces celles-ci, et cela devrait fonctionner.
Modification: p> à: p>
Cela peut également être que vous avez défini l'activité dans deux fichiers. Par exemple, layout et layout-v21 et certaines informations telles que l'ID sont manquantes sur l'une d'elles. Donc vérifier toutes les dispositions de l'activité p>
C'était le problème dans mon cas. Merci!
Dans mon cas, la mise en page n'était pas finie gonflée. Résolu en ajoutant un petit retard avant d'essayer d'accéder à TextView.
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { TextView test = (TextView) findViewById(R.id.testTextView); test.getText(); } }, 100);
J'ai eu du mal avec cela pendant un moment et ce que j'ai réalisé était que, si vous avez plus d'une version de fichier de mise en page comme: p>
"Activity_one.xml" dans le dossier "mise en page" et un dans "mise en page - petit dossier" p>
Que j'ai utilisé pour une prise en charge de la mise en page de plusieurs téléphones, le problème était que l'une des visions textuelles était dans les deux, avec exactement identique id et tout, mais la différence était que l'une était supérieure dans la hiérarchie des vues dans la mise en page. p>
Quand je les ai changés pour être au même endroit, cela fonctionnait. P>
(Je sais que cela est déjà répondu, mais peut-être que cela aide quelqu'un là-bas. Très rare cependant.) p>
Votre réponse pourrait être améliorée avec des informations justificatives supplémentaires. S'il vous plaît Modifier Pour ajouter des détails supplémentaires, tels que des citations ou une documentation, de sorte que d'autres puissent confirmer que votre réponse est correcte. Vous pouvez trouver plus d'informations sur la façon d'écrire de bonnes réponses dans le centre d'aide .