0

このコードを使用して、新しいアクティビティを開始するときにパラメーターを送信します。

Intent inputForm = new Intent(getActivity(), InputForm.class);

Bundle b = new Bundle();
b.putInt("item", Integer.parseInt(mItem.id)); //Your id
inputForm.putExtras(b); //Put your id to your next Intent
startActivity(inputForm);

そして、このコードを使用して、inputForm アクティビティのパラメーターを読み取ります。

    Bundle b = getIntent().getExtras();
    if (b != null) {
        int value = b.getInt("item");
        ID = value;
    }

Toast.makeText(getApplication(), "MIJN ID:" + Integer.toString(ID), Toast.LENGTH_LONG).show();

Samsung Tab 10.1 GT-P7510 ID (および Samsung Tab 2 10.1 3G GT-P5100) でこのコードを実行すると、常に 0 になります。JB を使用して Galaxy S3 で同じコードを実行すると、コードは正常に動作します。このコードを使用すると、次のエラーが発生します。

Intent inputForm = new Intent(getActivity(), InputForm.class);
inputForm.putExtra("item", mItem.id);
startActivityForResult(inputForm, 0);

//Read Settings in new Activity

String message;

message = getIntent().getExtras().getString("item"); //<---Nullpointerexception
Toast.makeText(getApplication(), message,Toast.LENGTH_LONG).show();

E/AndroidRuntime(2274): java.lang.RuntimeException: アクティビティ ComponentInfo を開始できません {com.obat.tabtasks/com.obat.tabtasks.InputForm}: java.lang.NullPointerException

前もって感謝します、

ObAt

4

2 に答える 2

0

行を分割していただけますか

   Intent intent = getIntent();
   Bundle bundle = intent.getExtras();
   String message = bundle.getString("passed");

NPEがどこにあるかをもう一度確認しますか?

于 2012-10-31T13:27:00.260 に答える
0

試す:

Intent inputForm = new Intent(getActivity(), InputForm.class);
inputFrom.putExtra("item",Integer.parseInt(mItem.id));
startActivity(inputForm);
于 2012-10-31T10:58:13.633 に答える