public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT);
}
这是我的代码,它显示一个错误并告诉我:“方法getApplicationContext()在类型MyLocationListener中未定义”。
我应该怎么做才能避免这个错误?
public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT);
}
这是我的代码,它显示一个错误并告诉我:“方法getApplicationContext()在类型MyLocationListener中未定义”。
我应该怎么做才能避免这个错误?
因为你不在一个Activity
中,所以需要向类传递一个Context
。在实例化这个类的任何地方,都要传递Activity
的上下文。
MyClass myClass = new MyClass(this);
然后在该类中创建一个constructor
,接受Context
作为参数,并使用它。
public class MyClass {
Context c;
public MyClass(Context context) {
c = context;
}
}
那么当您需要使用它时
public void onProviderDisabled(String provider) {
Toast.makeText(c, "Gps Disabled", Toast.LENGTH_SHORT);
}
这对我很有效
注:此处为代码,不做翻译。
public class MyClass extends Activity
public class AppController extends Application{
...
}
getContext()
Activity
内部吗? - codeMagic