Controls klassenweit deklarieren

  • Hallo,


    ich hätte da eine Frage..


    Muss ich eigentlich jedes mal wenn ich auf ein Control zugreifen will die FindViewById Funktion ausführen?


    Reicht es nicht wenn eine globale Variable angelegt wird und diese beim OnCreate den Rückgabewert zugewiesen bekommt..?

  • In vielen Fällen ist es sogar eine ziemlich blöde Idee, immer mit FindViewById zu arbeiten*.
    Allerdings sind 'globale Variablen' eine noch viel blödere Idee.


    Instanzvariablen hingegen (vermutlich meinst Du genau diese, wenn Du von 'klassenweit' schreibst) sind immer eine gute Idee.






    *) Stichwort: ViewHolder Pattern beim ListView.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Freilich habe ich das schon ausprobiert lieber mit Disturbed-Fan und Herr Feltmann :)..


    Allerdings bekomme ich dann einen Instanzfehler..


    Ich hatte die Variablen vor dem OnCreate im Klassencode deklariert und dann anschließend im OnCreate nach dem Layout Gedöns initialisiert bzw. gefüttert.


    Anscheinend mag der das nicht so wie ich das mache :)!


    PS: Habs jetzt auch hinbekommen, ich glaube ich hatte gestern Nacht wohl doch irgendwas falsch geschrieben, denn jetzt hab ichs auf einmal geschafft xD!


    Danke trotzdem!
    -------

  • Zu früh gefreut jetzt kommt n anderer Fehler als der von gestern, so gehe ich vor:


    Edit:
    Und ohne was zu ändern scheint es jetzt doch wieder zu gehen Oo!?

  • Oh man bin ich fail.. Ja das hätte ich mal schreiben sollen, bin ja hauptsächlich mit der DB-Geschichte dran, sodass mich das ablenkt :P..


    Das lustige ist, dass jetzt kein Fehler mehr kommt und ich habe ohne Witz! den Code nicht geändert :/..


    Das war ein Instanzierungsfehler, dass der das EditText-Control nicht instanzieren konnte oder so.


    Naja falls es nochmal auftaucht melde ich mich.


    Aber vielen Dank für deine Zeit :)!

  • Dann war es vermutlich irgend eine ClassCastException oder sowas, die aufgetreten ist, weil Du mittendrin irgendwas am Layout verändert hast. ;)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!