2015-12-21 131 views
0

當我運行我的活動registeration.javalogin.java時,它會將意圖內的用戶名傳遞給名爲profile.java的新活動。問題是當我嘗試登錄時,應用程序崩潰並在logcat中給出以下錯誤。我嘗試了關於這個問題的所有關於stackoverflow問題的東西,但沒有一個修復它。任何建議都將非常可觀。無法啓動活動ComponentInfo

FATAL EXCEPTION: main 
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.admin.funtube/com.example.admin.funtube.profile}: java.lang.NullPointerException 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651) 
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 
      at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
      at android.os.Handler.dispatchMessage(Handler.java:99) 
      at android.os.Looper.loop(Looper.java:123) 
      at android.app.ActivityThread.main(ActivityThread.java:3687) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:507) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
      at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.NullPointerException 
      at com.example.admin.funtube.profile.onCreate(profile.java:20) 
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 
            at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
            at android.os.Handler.dispatchMessage(Handler.java:99) 
            at android.os.Looper.loop(Looper.java:123) 
            at android.app.ActivityThread.main(ActivityThread.java:3687) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:507) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
            at dalvik.system.NativeStart.main(Native Method) 

profile.java

public class profile extends AppCompatActivity { 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.profile); 

     TextView welcometxt = (TextView) findViewById(R.id.welcome); 

     Bundle extras = getIntent().getExtras(); 
     welcometxt.setText("Welcome " + extras.getString("name").toUpperCase()); 

    } 
} 

login.java

if (email != null && password !=null) { 
    String em=email.getText().toString(); 
    String pwd=password.getText().toString(); 
    String user= FunTubeDBOperations.loginUsers(em, pwd); 
    if(user!=null) 
    { 
    Toast.makeText(getApplicationContext(), "Login successfully!!", Toast.LENGTH_LONG).show(); 
    Intent intent = new Intent(login.this, profile.class); 
    intent.putExtra("name", user); 
    startActivity(intent); 
    finish(); 
    } 
    } 

是profile.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ImageView 
     android:id="@+id/header_imageview" 
     android:layout_width="match_parent" 
     android:layout_height="150dp" 
     android:scaleType="centerCrop" 
     android:src="@drawable/logo" 
     android:adjustViewBounds="true" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 

    <LinearLayout 
     android:id="@+id/informations_container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:layout_below="@+id/header_imageview" 
     android:gravity="center" 
     android:paddingTop="32dp" 
     android:paddingBottom="32dp"> 


     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textStyle="bold" 
      android:textSize="17dp" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="4dp" 
      android:gravity="center" 
      android:textColor="#FF707070"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="8dp" 
      android:textColor="#FF909090" /> 

     <Button 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="UploadPic" 
      android:id="@+id/bup" 
      android:layout_gravity="center_horizontal" /> 

    </LinearLayout> 

    <HorizontalScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:scrollbars="none" 
     android:layout_below="@+id/informations_container" 
     android:background="#FFF0F0F0"> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 



     </LinearLayout> 
    </HorizontalScrollView> 


    <ImageView 
     android:layout_width="75dp" 
     android:layout_height="75dp" 
     android:src="@drawable/logo" 
     android:layout_centerHorizontal="true" 
     android:layout_above="@+id/informations_container" 
     android:layout_marginBottom="-16dp" /> 

</RelativeLayout> 
+0

發佈您的'profile.xml'文件。 –

+0

@斯巴達我已編輯我的問題看看請 – tabia

回答

2
TextView welcometxt = (TextView) findViewById(R.id.welcome); 

佈局文件中沒有名爲welcome的窗口小部件。因此,findViewById()將無法​​檢索它。因此,welcometxt將爲null

+0

這解決了我的問題。 :)愚蠢的錯誤,我必須說。 – tabia

相關問題