2013-05-21 11 views
15
public void onProviderDisabled(String provider) { 
    Toast.makeText(getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT); 


} 

Więc to, co mam, i to pokazuje błąd i mówi mi, że metody getApplicationContext() jest zdefiniowana dla typu MyLocationListenermetoda getApplicationContext() jest niezdefiniowane

co należy zrobić, aby tego uniknąć błąd

+2

użyć kontekstu aktywności zamiast getApplicationContext () – Raghunandan

+2

Czy ta metoda znajduje się wewnątrz "Activity"? – codeMagic

+0

nie, to nie jest klasa, która implementuje LocationListener –

Odpowiedz

32

Ponieważ nie należysz do klasy Activity, musisz podać Context. Gdziekolwiek instancję tej klasy zdać Activities context

MyClass myClass = new MyClass(this); 

Następnie utwórz constructor w tej klasie, który akceptuje Context jako param i używać

public class MyClass { 
    Context c; 
    public MyClass(Context context) { 
     c = context; 
    } 
} 

wtedy, kiedy trzeba go użyć

public void onProviderDisabled(String provider) { 
    Toast.makeText(c, "Gps Disabled", Toast.LENGTH_SHORT); 
} 
1

jeśli używasz ContentProvider spróbuj tego

getContext() 
2

ten pracował dla mnie

public class MyClass extends Activity

+0

Mam nadzieję, że do tej pory zrozumiałeś, że jest to zła odpowiedź ... –

1

rozwiązać ten problem poprzez rozszerzenie klasy aplikacji, moja klasa jest AppController:

public class AppController extends Application{ 
    ... 
} 
Powiązane problemy