schon wieder "cannot make a static.."

  • manche dinge wollen einfach nicht in meinen kopf..

    LocationManager lm = (LocationManager) Context.getSystemService(Context.LOCATION_SERVICE);

    den rot markierten teil unterstreicht eclipse mit der meldung

    "cannot make a static reference to a non-static method getSystemService.."

    Wo ist das Problem?!


    Meinem Location Manager lm hab ich nicht gesagt, dass er static sein soll.

    jetzt hab ich

    public Context context;

    gemacht.

    LocationManager lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

    warum kann ich nicht einfach

    LocationManager lm = (LocationManager) Context.getSystemService(Context.LOCATION_SERVICE);

    machen?

  • Zitat

    LocationManager lm = (LocationManager) Context.getSystemService(Context.LOCATION_SERVICE) ;

    den rot markierten teil unterstreicht eclipse mit der meldung

    "cannot make a static reference to a non-static method getSystemService.."

    Wo ist das Problem?!

    "Context" ist eine Klasse. Klassen sind immer "static". Daher kann man aus Klassen heraus nur "static methods" aufrufen.

    Weil du eine Instanz "context" erzeugt hast und von der eben jetzt die "non-static methods" aufrufen kannst.

    lg

    computer says nooooohhhh!

  • danke mal für eure antworten. aber:

    wenn sie nich statisch definiert ist, wo ist dann das problem?

    ich mach ja eh NICHT static LocationManager lm =

    sondern

    LocationManager lm = (LocationManager) Context.getSystemService(Context.LOCATION_SERVICE);

  • "Context" ist eine Klasse. Klassen sind immer "static". Daher kann man aus Klassen heraus nur "static methods" aufrufen.


    Weil du eine Instanz "context" erzeugt hast und von der eben jetzt die "non-static methods" aufrufen kannst.

    lg

    ich denke, dass ist mir klar..! (danke)


  • wenn sie nich statisch definiert ist, wo ist dann das problem?


    Ich glaube du hast nicht ganz verstanden was wir gemeint haben.

    Hast du die Klasse Context selbst geschrieben und hast Zugriff auf den Sourcecode?
    Oder ist das Problem jetzt schon gelöst?

Jetzt mitmachen!

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