3つの配列を他のアクティビティに渡そうとしますが、何らかの理由で親アクティビティから渡された最後の配列だけが子に移動し、残りは残りません ここに親アクティビティコード:putStringArrayListExtra
複数のArrayList <String>を別のアクティビティに渡す方法
Intent intent = new Intent(context, ItemDetailActivityCopy.class);
intent.putStringArrayListExtra("LIST_ITEMS", itemName);
startActivity(intent);
を使用して
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_category_list_items);
Intent intent = getIntent();
categoryTitle = intent.getStringExtra(categoryName);
if(Arrays.asList(FragmentHelper.Days).contains(categoryTitle)) {
header.setText("Start the workout");
addButton.setText("Start");
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context context = v.getContext();
Intent intent = new Intent(context, ItemDetailActivityCopy.class);
Bundle extras = new Bundle();
List<ListItem> items = listManager.getList(categoryTitle);
ArrayList<String> itemName = new ArrayList<>();
ArrayList<String> itemTime = new ArrayList<>();
ArrayList<String> itemNumberOfSets = new ArrayList<>();
for(int i = 0; i < listManager.getNumberOfItemsCopy(categoryTitle); i++) {
itemName.add(items.get(i).getDescription());
itemTime.add(String.valueOf(items.get(i).getTime()));
itemNumberOfSets.add(String.valueOf(items.get(i).getNumberOfSets()));
}
Log.d("Title:", itemName.toString());
Log.d("Time:", itemTime.toString());
Log.d("Num of sets:", itemNumberOfSets.toString());
extras.putStringArrayList(ItemDetailActivityCopy.itemName.toString(), itemName);
extras.putStringArrayList(ItemDetailActivityCopy.itemTime.toString(), itemTime);
extras.putStringArrayList(ItemDetailActivityCopy.itemNumberOfSets.toString(), itemNumberOfSets);
intent.putExtras(extras);
context.startActivity(intent);
}
});
}
}
の可能性のある重複した[別のアクティビティへのArrayListを渡すと、二重に変換する方法](http://stackoverflow.com/questions/22640669/how-to-pass-an-あなたがこれをどう決めたのですか? –
"残りはありません"エクストラの値を取得するコードはどこにありますか?あなたのエキストラの鍵はむしろ奇妙なことに注意してください。通常、他のオブジェクトの 'toString()'ではなく、定数を使用します。 – CommonsWare
[Passing and ArrayList from intent]の重複可能性があります。(http://stackoverflow.com/questions/41014704/passing-and-arraylistservicethroughthroughent) –