2015-11-04 19 views
7

aufrufen Ich versuche, eine Intent verwenden, um eine Aktivität zu starten, aber der erwähnte Fehler tritt auf setContentView() der zweiten Aktivität;java.lang.NullPointerException: Versuch, virtuelle Methode 'int android.view.ViewGroup.getPaddingLeft()' auf einem Nullobjekt Referenz

Hier sind mein Code und die Layout-Datei.

itemactivity.xml:

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

</LinearLayout> 

MainActivity:

Intent i=new Intent(MainActivity.this,ItemActivity.class); 
startActivity(i); 

ItemActivity:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    setContentView(R.layout.itemactivity); // this is where error occurs 
    super.onCreate(savedInstanceState); 
} 

Hier komplette Fehlerprotokoll:

java.lang.RuntimeException: Unable to start activity   ComponentInfo{bertaberim.team.beertaberim/bertaberim.team.beertaberim.ItemActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.ViewGroup.getPaddingLeft()' on a null object reference 
11-04 23:01:20.621 20634-20634/? E/AndroidRuntime:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3119) 
11-04 23:01:20.621 20634-20634/? E/AndroidRuntime:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3218) 
11-04 23:01:20.621 20634-20634/? E/AndroidRuntime:  at android.app.ActivityThread.access$1000(ActivityThread.java:198) 
11-04 23:01:20.621 20634-20634/? E/AndroidRuntime:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1676) 
11-04 23:01:20.621 20634-20634/? E/AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:102) 
11-04 23:01:20.621 20634-20634/? E/AndroidRuntime:  at android.os.Looper.loop(Looper.java:145) 
11-04 23:01:20.621 20634-20634/? E/AndroidRuntime:  at android.app.ActivityThread.main(ActivityThread.java:6837) 
11-04 23:01:20.621 20634-20634/? E/AndroidRuntime:  at java.lang.reflect.Method.invoke(Native Method) 
11-04 23:01:20.621 20634-20634/? E/AndroidRuntime:  at java.lang.reflect.Method.invoke(Method.java:372) 
11-04 23:01:20.621 20634-20634/? E/AndroidRuntime:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 
11-04 23:01:20.621 20634-20634/? E/AndroidRuntime:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 

Antwort

13

Sie müssen zunächst super.onCreate() aufrufen, um alle erforderlichen Initialisierungen für die Aktivität vorzunehmen, bevor Sie die Ansicht festlegen. diese beiden Linien einfach Flip:

super.onCreate(savedInstanceState); 
setContentView(R.layout.itemactivity); // this is where error occurs 

Weitere Informationen darüber, was dieses Verfahren macht Besuche this answer.

0

Sie sollten es nach allen Ansichten bereit verwenden, können Sie es nach super.onResume()

aufrufen
Verwandte Themen