1

配列を送信しone activity、その配列をで取得していother activityます。

これが私のコードです(受信側)

Bundle Extras = getIntent().getExtras();
if(Extras != null)
{
    reports = getIntent().getStringArrayExtra("reports");
    System.out.println("Size() "+reports.length);
}

しかし、私は次のエラーを取得しています

  07-16 18:15:27.628: W/Bundle(718):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
  07-16 18:15:27.628: W/Bundle(718):    at android.os.Handler.dispatchMessage(Handler.java:99)
 07-16 18:15:27.628: W/Bundle(718):     at android.os.Looper.loop(Looper.java:130)
 07-16 18:15:27.628: W/Bundle(718):     at android.app.ActivityThread.main(ActivityThread.java:3683)
 07-16 18:15:27.628: W/Bundle(718):     at java.lang.reflect.Method.invokeNative(Native Method)
 07-16 18:15:27.628: W/Bundle(718):     at java.lang.reflect.Method.invoke(Method.java:507)
 07-16 18:15:27.628: W/Bundle(718):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
 07-16 18:15:27.628: W/Bundle(718):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
 07-16 18:15:27.628: W/Bundle(718):     at dalvik.system.NativeStart.main(Native Method)
 07-16 18:15:27.658: W/System.err(718): java.lang.NullPointerException
 07-16 18:15:27.658: W/System.err(718):     at com.mythrii.timeapp.EditReports.onCreate(EditReports.java:41)
 07-16 18:15:27.698: W/System.err(718):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
 07-16 18:15:27.698: W/System.err(718):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
 07-16 18:15:27.698: W/System.err(718):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
 07-16 18:15:27.698: W/System.err(718):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
 07-16 18:15:27.698: W/System.err(718):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
 07-16 18:15:27.698: W/System.err(718):     at android.os.Handler.dispatchMessage(Handler.java:99)
 07-16 18:15:27.698: W/System.err(718):     at android.os.Looper.loop(Looper.java:130)
 07-16 18:15:27.698: W/System.err(718):     at android.app.ActivityThread.main(ActivityThread.java:3683)
 07-16 18:15:27.698: W/System.err(718):     at java.lang.reflect.Method.invokeNative(Native Method)
 07-16 18:15:27.698: W/System.err(718):     at java.lang.reflect.Method.invoke(Method.java:507)
 07-16 18:15:27.698: W/System.err(718):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
 07-16 18:15:27.698: W/System.err(718):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-16 18:15:27.729: W/System.err(718):  at dalvik.system.NativeStart.main(Native Method)

誰か助けてくれませんか。

4

3 に答える 3

0
Bundle Extras = getIntent().getExtras();
if(Extras != null)
{
    reports = Extras.getStringArrayExtra("reports");
    System.out.println("Size() "+reports.length);
}
于 2012-07-16T12:54:12.007 に答える
0

おそらく、extraから(キーレポートを含む)配列を取得していません。レポートオブジェクトもそうではないかどうかを確認する必要がありnullます。

Bundle Extras = getIntent().getExtras();
if(Extras != null)
{
    reports = getIntent().getStringArrayExtra("reports");

    if(reports != null)
        System.out.println("Size() "+reports.length);
}
于 2012-07-16T13:00:48.730 に答える
0
  1. 魔法のリテラルを使用しないでください-定数を使用してください。たぶん、あなたはivoker側でミスタイプの「レポート」を持っているか、そこに余分に置くのを忘れています。
  2. getStringArrayExtraが何かを返すことを確認しますか?いいえ!
  3. ログをデバッグ/追加し、追加内容が含まれていることを確認します。
于 2012-07-16T13:04:54.483 に答える