Ява.ленг.NullPointerException: попытка вызвать виртуальный метод " int android.вид.ViewGroup.getPaddingLeft () на null ссылка на объект

Я пытаюсь использовать намерение для запуска действия, но упомянутая ошибка возникает при втором действии setContentView ();

вот мой код, и файл макета.

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

вот полный лог ошибки:

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.access00(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)

2 ответов


нужно позвонить super.onCreate() сначала, чтобы подготовить любые необходимые инициализации к действию, прежде чем установить его представление. Просто переверните эти две строки:

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

для получения дополнительной информации о том, что этот метод делает, проверить ответ.


вы должны использовать его после всех представлений,вы можете назвать его после супер.onResume()