是否可以初始化扩展到类Activity的对象

时间:2010-12-24 14:57:56

标签: android

我有调用其他对象的主要活动,例如GPS类。这个GPS类扩展了Activiy类。

快照主要活动:

public class MemoPosition extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        GPS GPSnode = new GPS();
        if (!GPSnode.isGPSenabled()){
            createGpsDisabledAlert();
        }
    }
    private void createGpsDisabledAlert(){
    }
}

快照GPS类:

public class GPS extends Activity{
    private Double latitude;
    private Double longitude;
    private LocationManager locationManager;

    public void GPS(){
        // Construction
        String context = Context.LOCATION_SERVICE;
        locationManager = (LocationManager)getSystemService(context);

        if (isGPSenabled()){
           // do something 
        }    
}

我还将GPS类显示为Activity应用程序的一部分。 运行代码,致命错误强制关闭。 logcat的:

12-24 22:51:32.270: ERROR/AndroidRuntime(5558): FATAL EXCEPTION: main
12-24 22:51:32.270: ERROR/AndroidRuntime(5558): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dromdev.project.memoposition/com.dromdev.project.memoposition.MemoPosition}: java.lang.NullPointerException
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at android.os.Looper.loop(Looper.java:123)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at android.app.ActivityThread.main(ActivityThread.java:4627)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at java.lang.reflect.Method.invokeNative(Native Method)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at java.lang.reflect.Method.invoke(Method.java:521)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at dalvik.system.NativeStart.main(Native Method)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558): Caused by: java.lang.NullPointerException
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at com.dromdev.project.memoposition.GPS.isGPSenabled(GPS.java:48)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at com.dromdev.project.memoposition.MemoPosition.onCreate(MemoPosition.java:23)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
12-24 22:51:32.270: ERROR/AndroidRuntime(5558):     ... 11 more

我很好奇是否继承活动类的类无法初始化为普通活动。应该由Intent调用吗?我只需要GPS类作为负责GPS功能的对象,但是需要在某些上下文中扩展Activity。请指教。

1 个答案:

答案 0 :(得分:0)

为什么你不能只将Context传递给GPS并让它像那样安定下来?好奇......