3 回答
TA贡献1865条经验 获得超7个赞
您需要将上下文传递给fyl类。
一种解决方案是为您的fyl类创建一个类似这样的构造函数:
public class fyl {
Context mContext;
public fyl(Context mContext) {
this.mContext = mContext;
}
public Location getLocation() {
--
locationManager = (LocationManager)mContext.getSystemService(context);
--
}
}
因此,在您的活动类中,在onCreate函数中创建fyl对象,如下所示:
package com.atClass.lmt;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.location.Location;
public class lmt extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
fyl lfyl = new fyl(this); //Here the context is passing
Location location = lfyl.getLocation();
String latLongString = lfyl.updateWithNewLocation(location);
TextView myLocationText = (TextView)findViewById(R.id.myLocationText);
myLocationText.setText("Your current position is:\n" + latLongString);
}
}
TA贡献1998条经验 获得超6个赞
解决这个问题的一种方法是为实例创建一个静态类。我在AS3中经常使用它,在Android开发中也为我工作得很好。
配置文件
public final class Config {
public static MyApp context = null;
}
MyApp.java
public class MyApp extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Config.context = this;
}
...
}
然后,您可以访问上下文或通过使用 Config.context
LocationManager locationManager;
String context = Context.LOCATION_SERVICE;
locationManager = Config.context.getSystemService(context);
- 3 回答
- 0 关注
- 983 浏览
添加回答
举报