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


}

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

我应该怎么做才能避免这个错误

4

4 回答 4

33

因为你不在一个Activity你需要通过一个Context类。无论你在哪里实例化这个类都会通过你的Activities context

MyClass myClass = new MyClass(this);

constructor然后在该类中创建一个接受Context为 aparam并使用它

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

那么当你需要使用它时

public void onProviderDisabled(String provider) {
    Toast.makeText(c, "Gps Disabled", Toast.LENGTH_SHORT);
}
于 2013-05-21T20:46:07.263 回答
2

这对我有用

public class MyClass extends Activity

于 2015-02-06T09:08:36.830 回答
1

如果您使用 ContentProvider 试试这个

getContext()
于 2014-08-06T11:22:08.497 回答
1

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

public class AppController extends Application{
    ...
}
于 2016-03-23T10:07:34.373 回答