Frage zu ArrayList

BaseBallBatBoy

Erfahrenes Mitglied
Hi!

Hab ne Frage zu ArrayList:
Ich hab zwei ArraLists und möchte nun Elemente von der einen in die andere verschieben. Das klappt soweit auch ohne Probleme. Aber wenn ich ein zweites mal ein Element aus der ersten Liste in die zweite verschiebe, wird alles wieder zurückgesetzt und nur das (beim zweiten mal) ausgewählte Element in die andere List verschoben. Sprich das zuvor verschobene Element ist wieder in der ersten List. Ums zu verdeutlichen:

1. (ausgangslage)
List1
- Name
- Vorname

List2
- Strasse
- Stadt

2. (resultat von Name nach List2)
List1
- Vorname

List2
- Strasse
- Stadt
- Name

3. (resultat von Vorname nach List2)
List1
- Name

List2
- Strasse
- Stadt
- Vorname

Das Ganze lass ich übrigens über JSF auf dem Web laufen. Aber daran wirds wohl nicht liegen. Hier mal der Code der ArrayLists:

Code:
               private List invisibleItems; 
               private List visibleItems;

		invisibleItems = new ArrayList();
		visibleItems = new ArrayList();

		SelectItem item = new SelectItem("name", "Name");
		invisibleItems.add(item);
		item = new SelectItem("vorname", "Vorname");
		invisibleItems.add(item);
		
		visibleItems.add(item);
		item = new SelectItem("strasse", "Strasse");
		visibleItems.add(item);
		item = new SelectItem("stadt", "Stadt");
		visibleItems.add(item);

Und nun die Funktion die die Elemente verschiebt:

Code:
	public void moveSelectedToInvisible(ActionEvent actionEvent) {
		String[] values = getSelectedVisibleItems();

		int length = values.length;
		for (int i=0; i<length; i++) {
			String value = values[i];
			getInvisibleItems().add(removeItem(value, getVisibleItems()));
		}
	}

Ich vermute ja, dass es daran liegt, dass moveSelectedToInvisible sich immer nur auf die getInvisibleItems bezieht und nur denen das neue Element zufügt.

Also folgt hier meine Frage: wie kann ich einer ArrayList (B) ein Element einer anderen ArrayList (A) übergeben, und zwar so, dass es danach definitiv zur neuen ArrayList (B) gehört? Z.b. wenn ich danach per getArrayListBItems darauf zugreiffen will?

Ach ja, das ganze ist übrigens abgeleitet von: http://jsf.iatp.org.ua/components/jsf_htmlselectmanylistbox.html

Bin dankbar für eure Hilfe!

Gruss BBBB
 
OK, ich habs!

ich hatte in der config anstatt session einen request auf das Bean verwendet. Logisch dass er da das Bean immer wieder von neuem ausführt.... mit session gehts nun!

Thanks anyway...
 

Neue Beiträge

Zurück