1. ホーム
  2. android

[解決済み] IntentでArrayListを渡す

2023-06-02 15:07:10

質問

インテントを使用して、arrayListを別のアクティビティに渡そうとしています。以下は、最初のアクティビティでのコードです。

case R.id.editButton:
        Toast.makeText(this, "edit was clicked", Toast.LENGTH_LONG).show();
        Intent intent = new Intent(this, editList.class);
        intent.putStringArrayListExtra("stock_list", stock_list);
        startActivity(intent);
        break;

ここで、2つ目のアクティビティでリストを取得しようとしています。ここで何か問題があるのでしょうか?

Intent i = new Intent(); //This should be getIntent();
    stock_list = new ArrayList<String>();

    stock_list = i.getStringArrayListExtra("stock_list");

どのように解決するのですか?

受信インテントの中で、あなたが行う必要があります。

Intent i = getIntent();  
stock_list = i.getStringArrayListExtra("stock_list");

この方法では、余計なものがない新しい空のインテントを作成しただけです。

もし余分なものが1つしかなければ、これを凝縮することができます。

stock_list = getIntent().getStringArrayListExtra("stock_list");