2013-10-28 1 views
-3

프로필 페이지를 만듭니다. 이 페이지는 로그인 페이지에서 First_Name, Last_Name 등과 같은 필수 필드가 될 모든 데이터를 가져옵니다. 로그인 활동에서 인 텐트를 보내고 있지만 프로필 활동에서 NullPointerException을 발생시킵니다.Android Bundle.getString Null 포인터 예외 발생

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> 
입니다 :

는 (주요 활동) 활동에서 로그인에 대한 코드

입니다

어디에 문제가 있는지 잘 모르겠습니다. 도와 줘서 고마워. 완전한 로그 캣은

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); 

내 생각 엔입니다 : ProfileDashboard를 교체합니다.

+0

Dashboard를 Profile으로 변경했습니다. 의도를 보내려는 이유를 설명합니다. Dashboard.java가 Profile.java에 데이터를 보내지 않는 이유 –

+0

@Naveed 목적지 활동 클래스 이름을 지정하려는 경우, 'Profile .class', 그렇지 않으면 다른 활동 (원래 사례의 대시 보드)을 시작합니다. – kiruwka