2013-05-15 73 views
0

我正在嘗試從活動組啓動活動。以下是我的代碼使用方法:從活動組啓動活動時發生空指針異常

public void replaceContentView() { 
    Intent i = new Intent(SummaryCostScreen.this,PermissionsScreen.class); 
    View view = getLocalActivityManager().startActivity("activity9",i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView(); 
    this.setContentView(view); 
    } 

我得到空指針異常,如下所示:

05-15 09:49:23.367: D/AndroidRuntime(3872): Shutting down VM 
05-15 09:49:23.367: W/dalvikvm(3872): threadid=1: thread exiting with uncaught exception (group=0x40b1a1f8) 
05-15 09:49:23.382: E/AndroidRuntime(3872): FATAL EXCEPTION: main 
05-15 09:49:23.382: E/AndroidRuntime(3872): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nykkos.personalize/com.nykkos.personalize.launcher.screens.PermissionsScreen}: java.lang.NullPointerException 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1964) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.app.ActivityThread.startActivityNow(ActivityThread.java:1799) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at com.nykkos.personalize.launcher.screens.SummaryCostScreen.replaceContentView(SummaryCostScreen.java:255) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at com.nykkos.personalize.launcher.screens.SummaryCostScreen.onClick(SummaryCostScreen.java:116) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.view.View.performClick(View.java:3480) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.view.View$PerformClick.run(View.java:13993) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.os.Handler.handleCallback(Handler.java:605) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.os.Handler.dispatchMessage(Handler.java:92) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.os.Looper.loop(Looper.java:137) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.app.ActivityThread.main(ActivityThread.java:4368) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at java.lang.reflect.Method.invoke(Method.java:511) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at dalvik.system.NativeStart.main(Native Method) 
05-15 09:49:23.382: E/AndroidRuntime(3872): Caused by: java.lang.NullPointerException 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at com.nykkos.personalize.launcher.screens.PermissionsScreen.onCreate(PermissionsScreen.java:48) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.app.Activity.performCreate(Activity.java:4465) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1928) 
05-15 09:49:23.382: E/AndroidRuntime(3872):  ... 16 more 

空指針從

getLocalActivityManager().startActivity("activity9",i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView(); 

有什麼可以爲這個空指針的原因拋出,儘管我看不到任何明顯的原因。

任何幫助,非常感謝。

+1

此文件的粘貼代碼com.nykkos.personalize.launcher.screens.PermissionsScreen –

+1

NullPointerException at com.nykkos.personalize.launcher.screens.PermissionsScreen.onCreate(PermissionsScreen.java:48) –

回答

1

從我可以從logcat的描述看到的是,有一個在您PermissionsScreen類的onCreate()方法行號的異常48

1
Activity ac = (Activity) context; 
ActivityGroup ag = (ActivityGroup) ac.getParent(); 
Intent i = new Intent(SummaryCostScreen.this,PermissionsScreen.class); 
View view = ag.getLocalActivityManager().startActivity("activity9",i.addFlags 
(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView(); 
this.setContentView(view); 

試試這個。

相關問題