方法getApplicationContext()未定义

时间:2013-05-21 20:18:29

标签: android

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


}

所以这就是我所拥有的,它显示了一个错误并告诉我方法getApplicationContext()未定义类型MyLocationListener

我该怎么做才能避免此错误

4 个答案:

答案 0 :(得分:32)

由于您不在Activity,因此您需要将Context传递给该课程。无论您在何处实例化此类,都会通过Activities context

MyClass myClass = new MyClass(this);

然后在该类中创建一个constructor,将Context作为param接受并使用

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

然后当你需要使用它时

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

答案 1 :(得分:2)

这对我有用

  

public class MyClass extends Activity

答案 2 :(得分:1)

如果您使用的是ContentProvider,请尝试使用

getContext()

答案 3 :(得分:1)

我通过扩展Application类来解决这个问题,我的类是AppController:

public class AppController extends Application{
    ...
}