2013-10-28 225 views
-3

我正在創建一個配置文件頁面。此頁面將從登錄頁面獲取所有數據,這些數據將是必需的字段,如First_Name,Last_Name等。我從註冊活動發送Intent,但在配置文件活動中發送NullPointerException。Android Bundle.getString拋出空指針異常

了代號爲登錄(主要活動)活動是:

Bundle Basket = new Bundle(); 
Basket.putString("First_Name", first_name); 
Basket.putString("Last_Name", last_name); 
Basket.putString("Email", emails); 
Basket.putString("Password",password); 
Basket.putInt("Id", id); 
Basket.putInt("Role", role); 
Basket.putInt("status", status); 
Basket.putInt("Active", active); 
Intent dashboard = new Intent(MainActivity.this,Dashboard.class); 
dashboard.putExtras(Basket); 
startActivity(dashboard); 

代碼Profile.java是

public void onCreate(Bundle SavedInstance){ 
    super.onCreate(SavedInstance); 
    setContentView(R.layout.profile); 
    fn = (TextView) findViewById (R.id.f_p_n_1); 
    ln = (TextView) findViewById (R.id.l_p_n_1); 
    em = (TextView) findViewById (R.id.e_p_n_1); 
    b1 = (ImageButton) findViewById (R.id.home); 
    b2 = (ImageButton) findViewById (R.id.setting); 
    b3 = (ImageButton) findViewById (R.id.feedback); 

    Bundle extras = this.getIntent().getExtras(); 
    f_n = extras.getString("First_Name"); 
    System.out.println(f_n); 

和我的manifest.xml文件是

<activity 
     android:name="com.yousaf.naveed.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name="com.yousaf.naveed.register"></activity> 
    <activity android:name="com.yousaf.naveed.Dashboard"> 
     <intent-filter > 
      <action android:name="android.intent.action.VIEW"/> 
      <action android:name="android.intent.action.GET_CONTENT"/> 
      <category android:name="android.intent.category.DEFAULT" /> 

     </intent-filter> 
    </activity> 
    <activity android:name="com.yousaf.naveed.Trip"></activity> 
    <activity android:name="com.yousaf.naveed.Request"></activity> 
    <activity android:name="com.yousaf.naveed.Profile"> 
     <intent-filter > 
      <action android:name="android.intent.action.VIEW"/> 
      <action android:name="android.intent.action.GET_CONTENT"/> 
      <category android:name="android.intent.category.DEFAULT" /> 

     </intent-filter> 
    </activity> 

我不確定問題出在哪裏。感謝您的幫助。 其完整的logcat是

10-29 03:58:17.313: E/AndroidRuntime(23257): FATAL EXCEPTION: main 
10-29 03:58:17.313: E/AndroidRuntime(23257): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.yousaf.naveed/com.yousaf.naveed.Dashboard}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.yousaf.naveed/com.yousaf.naveed.Profile}: java.lang.NullPointerException 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1872) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.ActivityThread.access$1500(ActivityThread.java:135) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.os.Handler.dispatchMessage(Handler.java:99) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.os.Looper.loop(Looper.java:150) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.ActivityThread.main(ActivityThread.java:4389) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at java.lang.reflect.Method.invokeNative(Native Method) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at java.lang.reflect.Method.invoke(Method.java:507) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at dalvik.system.NativeStart.main(Native Method) 
10-29 03:58:17.313: E/AndroidRuntime(23257): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.yousaf.naveed/com.yousaf.naveed.Profile}: java.lang.NullPointerException 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1872) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.ActivityThread.startActivityNow(ActivityThread.java:1692) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:656) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.widget.TabHost.setCurrentTab(TabHost.java:326) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.widget.TabHost.addTab(TabHost.java:216) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at com.yousaf.naveed.Dashboard.onCreate(Dashboard.java:37) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1836) 
10-29 03:58:17.313: E/AndroidRuntime(23257): ... 11 more 
10-29 03:58:17.313: E/AndroidRuntime(23257): Caused by: java.lang.NullPointerException 
10-29 03:58:17.313: E/AndroidRuntime(23257): at com.yousaf.naveed.Profile.onCreate(Profile.java:26) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072) 
10-29 03:58:17.313: E/AndroidRuntime(23257): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1836) 
+0

發佈您的佈局和完整的LogCat。並檢查你正在引用的項目是否在'R.layout.profile'中,並且有確切的ID。 – hichris123

回答

0
Intent dashboard = new Intent(MainActivity.this, Dashboard.class); 

我的猜測是:用Profile更換Dashboard

+0

親愛的這個改變工作我改變了儀表板到配置文件它開始發送意圖告訴我它背後的原因爲什麼Dashboard.java沒有發送數據到Profile.java –

+0

@Naveed在你的目的是指定你的目的地活動類名稱, .class',否則你開始另一個活動(原始案例中的儀表板)。 – kiruwka