Global Definieren unsinnig?

  • Ich habe jetzt schon zweimal gesehen, dass wenn ich etwas in meiner Public class der MainActivity definiere Ich es daraufhin nicht verwenden kann, im Editor schon allerdings nicht auf dem Handy (crash). Also ich definiere so etwas:

    Java
    public class MainActivity extends Activity { /** Called when the activity is first created. */	Context toastcntxt = getApplicationContext();	CharSequence w_an_txt = "Wlan an";	CharSequence w_off_txt = "Wlan aus";	CharSequence medien_aus_txt = "Medienlautstärke aus";



    Wenn ich nun in einer private void darauf zugreife crasht es, ich kann keinen Toast mit dem toastcntxt erstellen, dafür muss ich es in die private void reinkopieren. Kann doch nicht sein?

  • Da dürftest du vermutlich ziemlich unglaubwürde Quelle gelesen haben (Wenn ich falsch liege bitte korrigieren)


    Es das Ziel von Objektorientierung, dass man globlale (private) Variablen nutzt um sie mit (public) Methoden zu verändern...


    Der Fehler dürfte daran liegen, dass der Context vor Erstellern der (view?) noch gar nicht existiert...
    Wenn du die Variable global deklarierst, aber erst in der onCreate methode definierst ( der glob. Variable zuweist) funktioniert es.
    Anschließend hast du auch Zugriff auf die glob. Variable und damit auf den Context..



    fg assenda

Jetzt mitmachen!

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