Ich versuche, mit der Android-Entwicklung zu beginnen und einige grundlegende Arbeiten mit TextViews zu machen.
Aus irgendeinem Grund verursacht die setText () -Methode von TextView große Probleme für mich. Hier ist eine vereinfachte Version meines Codes, um zu zeigen, was ich meine:
%Vor%Das wird einen Absturz verursachen, und ich verstehe nicht warum. Wenn ich das TextView innerhalb von onCreate erstelle, funktioniert es gut, aber wenn ich es außerhalb davon erstelle, tut es das nicht. Warum ist das so? Hat die Zeile "TextView text" noch nicht ausgeführt oder so?
Danke!
Sie müssen setContentView () aufrufen, bevor Sie TextView initialisieren, damit Ihre Aktivität auf alle Layoutkomponenten zugreifen kann.
%Vor%Aus der Dokumentation:
MitonCreate (Bundle) initialisieren Sie Ihre Aktivität. Die meisten wichtig, hier rufen Sie normalerweise setContentView (int) mit einem Layout-Ressource, die Ihre Benutzeroberfläche definiert und findViewById (int) verwendet rufen Sie die Widgets in dieser Benutzeroberfläche ab, mit denen Sie interagieren möchten programmgesteuert.
Dies bedeutet also, dass Sie, wenn Sie Ihre Ansichten im Layout referenzieren, zuerst die Inhaltsansicht festlegen und dann die Methode findViewById aufrufen müssen, um auf untergeordnete Sichten der Layout-Ressource zu verweisen, die die UI Ihrer Aktivität definieren.
%Vor%
Wenn "wörtlich alles" eine Variable ist, was oft der Fall sein kann, stellen Sie sicher, dass keine NullPointerException ausgelöst wird. Ich habe dieses Problem selbst immer wieder gehabt. Ich habe es festgelegt:
%Vor%Ausnahmen können wirklich nützlich sein. Wenn Sie also ein Anfänger sind, schlage ich vor, dass Sie die Ausnahmebehandlung in die Liste der Dinge aufnehmen, die Sie bald lernen werden.