簡體   English   中英

onCreate(savedInstanceState)savedInstanceState為NULL

[英]onCreate(savedInstanceState) savedInstanceState is NULL

我的問題是這樣的:我是android編程的新手,我創建了一個新的應用程序,當我按下下面的按鈕啟動此活動時,它崩潰了。 當我調試它時,它說onCreate()得到了一個空包。 我該如何解決? 我不了解該活動的其他類別,因此請使用詳細信息,謝謝!

這是我的代碼:

@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_requests);


        GridView gridview = (GridView) findViewById(R.id.gridview);
        gridview.setAdapter(new ImageAdapter(this));


    gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {


        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            AlertDialog.Builder builder = new AlertDialog.Builder(my_requests.this);
            switch (position){
                case 0: builder.setMessage("You Chose Television, Wait");
                    break;
                case 1: builder.setMessage("You Chose Cookie, Wait");
                    break;
                case 2: builder.setMessage("You Chose Toilet, Wait");
                    break;
                case 3: builder.setMessage("You Chose Toys, Wait");
                    break;
                case 4: builder.setMessage("You Chose Lunch, Wait");
                    break;
                case 5:builder.setMessage("You Chose Water, Wait");
                    break;
            }
            builder.setNeutralButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    // User cancelled the dialog
                }
            });
            AlertDialog dialog = builder.create();
            dialog.show();

        }
    });
    super.onSaveInstanceState(savedInstanceState);
}

編輯::在下面添加了LOGCAT

02-24 14:53:00.642  17789-17789/com.tiktaktikapps.Gimmie_ D/AndroidRuntime﹕ Shutting down VM
    --------- beginning of crash
02-24 14:53:00.647  17789-17789/com.tiktaktikapps.Gimmie_ E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.tiktaktikapps.Gimmie_, PID: 17789
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tiktaktikapps.Gimmie_/com.tiktaktikapps.Gimmie_.my_requests}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.GridView.setAdapter(android.widget.ListAdapter)' on a null object reference
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2367)
            at android.app.ActivityThread.access$800(ActivityThread.java:148)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1283)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5274)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:909)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:704)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.GridView.setAdapter(android.widget.ListAdapter)' on a null object reference
            at com.tiktaktikapps.Gimmie_.my_requests.onCreate(my_requests.java:49)
            at android.app.Activity.performCreate(Activity.java:5977)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2258)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2367)
            at android.app.ActivityThread.access$800(ActivityThread.java:148)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1283)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5274)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:909)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:704)

原因:java.lang.NullPointerException:嘗試在空對象引用上調用虛擬方法'void android.widget.GridView.setAdapter(android.widget.ListAdapter)'

您發布的logcat摘錄與null捆綁包無關,而是指示在R.layout.my_requests中找不到R.id.gridview

檢查您的xml文件,查看是否有錯誤,錯別字,大寫字母差異,並確保使用了您想要的文件。 然后清理您的項目(某些工具版本不擅長進行xml更改)並重新部署。

刪除最后一行

super.onSaveInstanceState(savedInstanceState);

應該從onSavedInstanceState()調用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM