1

そのため、アクティビティを開始したインテントからバンドルを取得しようとすると、null ポインター例外が発生します。

前のアクティビティのコードは次のとおりです。

Bundle b = new Bundle();
Intent that = new Intent(this, GoogleMapSearchActivity.class);
that.putExtra("bundle", b);
startActivity(that);

呼び出されたアクティビティは、次を使用してバンドルを見つけようとします。

Bundle bund;
Intent activity = getIntent();
bund = activity.getBundleExtra("bundle");

次に、最後の行を指しているヌル ポインター例外に続いて、私の顔には非常に愚かな表情があり、私の心には苛立ちがありました。

08-02 01:32:43.249: E/AndroidRuntime(2162): FATAL EXCEPTION: main
08-02 01:32:43.249: E/AndroidRuntime(2162): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.donatorproj/com.example.donatorproj.GoogleMapSearchActivity}: java.lang.NullPointerException
08-02 01:32:43.249: E/AndroidRuntime(2162):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at android.os.Looper.loop(Looper.java:137)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at android.app.ActivityThread.main(ActivityThread.java:5041)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at java.lang.reflect.Method.invokeNative(Native Method)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at java.lang.reflect.Method.invoke(Method.java:511)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at dalvik.system.NativeStart.main(Native Method)
08-02 01:32:43.249: E/AndroidRuntime(2162): Caused by: java.lang.NullPointerException
08-02 01:32:43.249: E/AndroidRuntime(2162):     at com.example.donatorproj.GoogleMapSearchActivity.addInitialDataMarkers(GoogleMapSearchActivity.java:85)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at com.example.donatorproj.GoogleMapSearchActivity.onCreate(GoogleMapSearchActivity.java:78)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at android.app.Activity.performCreate(Activity.java:5104)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
08-02 01:32:43.249: E/AndroidRuntime(2162):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
08-02 01:32:43.249: E/AndroidRuntime(2162):     ... 11 more
4

4 に答える 4

0

個々のパラメーターをリストするのが好きです。

Intent intent = new Intent (SomeActivity.this, AnotherActivity.class);
    intent.putExtra("paramName1", theString);
    intent.putExtra("paramName2", "anotherString");
    startActivity(intent);

そして、立ち上げた活動では、

Bundle extras = getIntent().getExtras();
    if (extras != null) {
        variable1 = extras.getString("paramName1");
        variable2 = extras.getString("paramName2");
    }

渡された引数の 1 つ、またはバンドル全体には、78 行目に見られる null 値が含まれている必要があります。この SO 投稿は、問題を明らかにする可能性があります。お役に立てれば。

于 2013-08-02T01:33:00.907 に答える