1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

schon wieder "cannot make a static.."

  • sommeralex
  • 19. Januar 2008 um 23:15
  • Unerledigt
  • sommeralex
    11
    sommeralex
    Mitglied
    Punkte
    1.325
    Beiträge
    188
    • 19. Januar 2008 um 23:15
    • #1

    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?

  • Martinez
    7
    Martinez
    Mitglied
    Punkte
    465
    Beiträge
    81
    • 20. Januar 2008 um 00:32
    • #2
    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.

    Zitat


    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?

    Alles anzeigen

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

    lg

    computer says nooooohhhh!

  • klausi
    16
    klausi
    Mitglied
    Reaktionen
    24
    Punkte
    2.564
    Beiträge
    481
    • 20. Januar 2008 um 00:38
    • #3

    Ich würde sagen: Weil die Methode getSystemService in der Klasse Context nicht statisch definiert ist.

  • sommeralex
    11
    sommeralex
    Mitglied
    Punkte
    1.325
    Beiträge
    188
    • 20. Januar 2008 um 00:46
    • #4

    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);

  • sommeralex
    11
    sommeralex
    Mitglied
    Punkte
    1.325
    Beiträge
    188
    • 20. Januar 2008 um 00:50
    • #5
    Zitat von Martinez

    "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)

  • klausi
    16
    klausi
    Mitglied
    Reaktionen
    24
    Punkte
    2.564
    Beiträge
    481
    • 20. Januar 2008 um 00:52
    • #6
    Zitat von sommeralex


    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?

  • sommeralex
    11
    sommeralex
    Mitglied
    Punkte
    1.325
    Beiträge
    188
    • 20. Januar 2008 um 01:38
    • #7

    hat sich schon erledigt!

    danke! + gute nacht.

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung