Ich versuche, drei Arrays zu anderen Aktivitäten zu übergeben, aber aus irgendeinem Grund scheint es nur ein letztes Array von der übergeordneten Aktivität übergeben geht an das Kind und der Rest dont Hier ist die Eltern Aktivitätscode:Wie mehrere ArrayList <String> an eine andere Aktivität übergeben werden
@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);
}
});
}
}
Mögliche Duplikat von [Wie eine Arraylist auf eine andere Tätigkeit zu übergeben und sie in Doppel umwandeln] (http://stackoverflow.com/questions/22640669/how-to-pass-an- arrayliststring-to-ahead-activity-und-convert-it-in-double) –
"der rest nicht" - wie haben Sie das festgestellt? Wo ist Ihr Code zum Abrufen von Werten aus den Extras? Beachten Sie, dass die Schlüssel zu Ihren Extras eher seltsam sind. Normalerweise verwenden wir Konstanten, nicht 'toString()' eines anderen Objekts. – CommonsWare
Mögliche Duplikate von [Passing und ArrayList durch Absicht] (http://stackoverflow.com/questions/41014704/passing-and-arraylistservice-through-intent) –