2016-12-23 3 views
0

Ich möchte populate eine ArrayList mit einigen Objects, die in einer anderen Aktivität festgelegt sind. Ich bin zur Zeit vorbei, die Daten zu meinem MainActivitys ArrayList über eine Intent wie so:Anzeigen mehrerer absichtsbasierter Elemente in einer ArrayList

protected void populateTransactionList() { 

    Intent depositIntent = getIntent(); 
    float addableValue = depositIntent.getFloatExtra("depositValue", 0); 

    if (addableValue != 0){ 
     myTransactions.add(new Transaction(addableValue, 16, "random comment")); 
    } 

Es funktioniert gut. Ich bekomme die richtige Ansicht in meiner App. Aber sobald ich einen weiteren item zu meinem ArrayList hinzufügen möchte, ersetzt es den alten (was aber Sinn macht) wie kann ich alle items anzeigen?

+1

Hinzufügen einen Artikel verwendet habe. Ich vermute, dass Sie jedes Mal eine neue Arraylist initialisieren, aber ich kann nicht sicher sein, von dem Code, den Sie gepostet haben – F43nd1r

+0

Indem Sie das Array in der Absicht übergeben, erstellen Sie eine Kopie davon. Der hinzugefügte hat also keinen Einfluss auf die Kopie. Sie sollten in Betracht ziehen, Ihre Liste für beide Aktivitäten zugänglich zu machen, anstatt sie über eine Absicht zu übergeben. –

+0

Okay, aber wie kann ich von beiden Aktivitäten auf die Liste zugreifen? –

Antwort

0

können Sie diesen

//set list 
Intent intent = new Intent(); 
Bundle bundle = new Bundle(); 
ArrayList<String> list = new ArrayList<>(); 
bundle.putStringArrayList("list",list); 
intent.putExtras(bundle); 

//get list on other activity 
list = getIntent().getExtras().getStringArrayList("list"); 

Hinweis versuchen: Sie verschiedene Verfahren für verschiedenen Listentyp auswählen können, wie ich die alten nicht ersetzen sollte „putStringArrayList“

+0

In der get-Zeile heißt es, dass es eine Ganzzahl erfordert, aber es bekommt eine ArrayList. –

+0

Sie können die Methode wie für Ihren Datentyp im Bundle wie putIntegerArrayList und auf der anderen Seite getIntegerArrayList ändern – Khushvinder

Verwandte Themen