Index nachträglich ändern

Lobalo

Mitglied
Moin,

mein Problem bezieht sich unter Verwendung von JavaScript, aber sollte auch für Java gelten.

Ich erstelle dynamisch Items die aus Text und Icons bestehen. Den Icons werden Funktion fürs löschen und ändern der Items übergeben. Die Daten der Items werden über eine Liste gespeichert und über einen Index referenziert. Nachdem ich ein Item gelöscht haben, müssten jedoch die Indexe der nachfolgenden Items um eins verringert werden, sodass ich beim Löschen der Daten aus der Liste auch das richtige Element "erwische" :D Ich weiß aber ehrlich nicht, wie ich diesen Index nachträglich von den bereits erstellten Items löschen kann. Über Hilfestellungen wäre ich sehr dankbar.

Die Struktur sieht in etwa so aus

create: function (item,removeFunc, updateFunc) {
var icons = view.createIcon();
icons[0].action = removeFunc;
icons[1].action = updateFunc;

subList.addIcon(icons[0]);
subList.addIcon(icons[1]);
}

this.create(item, function(){
this.removeElement(index,par2,par3), // Der Index muss nachträglich veränderbar sein
this.updateElement(index,par2,par3)
}
 

TM69

Bekanntes Mitglied
Also bei
Moin,

mein Problem bezieht sich unter Verwendung von JavaScript, aber sollte auch für Java gelten.

Ich erstelle dynamisch Items die aus Text und Icons bestehen. Den Icons werden Funktion fürs löschen und ändern der Items übergeben. Die Daten der Items werden über eine Liste gespeichert und über einen Index referenziert. Nachdem ich ein Item gelöscht haben, müssten jedoch die Indexe der nachfolgenden Items um eins verringert werden, sodass ich beim Löschen der Daten aus der Liste auch das richtige Element "erwische" :D Ich weiß aber ehrlich nicht, wie ich diesen Index nachträglich von den bereits erstellten Items löschen kann. Über Hilfestellungen wäre ich sehr dankbar.

Die Struktur sieht in etwa so aus
Also erstmal solltest du definieren, was du als dynamische Items meinst. Ein Array oder eine verkettete Liste? Bei Java kannst du die Klasse ArrayList verwenden
, durch Aufruf von remove wird ein Eintrag aus der Liste entfernt.

In Javascript steht dir die Klasse Array
zur Verfügung. In der Doku findest du auch Beispiel zum entfernen.
 

Lobalo

Mitglied
Also bei

Also erstmal solltest du definieren, was du als dynamische Items meinst. Ein Array oder eine verkettete Liste? Bei Java kannst du die Klasse ArrayList verwenden
, durch Aufruf von remove wird ein Eintrag aus der Liste entfernt.

In Javascript steht dir die Klasse Array
zur Verfügung. In der Doku findest du auch Beispiel zum entfernen.
Hallo,

Die Items sind einfach bestimmte UI Komponenten. Mit dynamische Items meine ich einfach, dass diese zur Laufzeit generiert werden. Um das Problem nochmal zu verdeutlichen.

Angenommen ich erstelle 3 Items
Item0
Item1
Item2

Die Daten für die Items werden über eine Liste gespeichert

dataForItem1 // index: 0
dataForItem2 // index: 1
dataForItem3 // index: 2

Wenn ich Item0 lösche wird aus der Datenliste das erste Item gelöscht.
Item1
Item2

dataForItem2 // index: 0
dataForItem3 // index: 1

Soweit so gut. Das Problem ist jetzt, dass an Item1 noch der Index 1 hängt. Wenn ich also anschließend Item1 lösche, dann wird aus der Liste dataForItem3 gelöscht. Ich müsste also nach dem Löschen von Item0 die Indexe der nachfolgenden Items anpassen.

Ich hoffe das Problem ist jetzt deutlich, sonst muss ich es nochmal anders versuchen :D
 

mrBrown

Super-Moderator
Mitarbeiter
Wofür nutzt du überhaupt das Array? Wenn Item0 irgendwie auf die Daten für Item0 verweisen muss, kann es doch einfach direkt darauf verweisen?
 
Ähnliche Java Themen

Ähnliche Java Themen


Oben