Determinazione dell'indice di un articolo su un modulo (J2ME)
Domanda
Dato un Articolo
che è stato aggiunto a un Modulo
, qual è il modo migliore per scoprire a quale indice si trova quell'elemento nel modulo?
Form.append (Item)
mi darà l'indice in cui è stato inizialmente aggiunto, ma se in seguito inserirò elementi prima dell'indice non sarà sincronizzato.
Soluzione
Questo è stato il migliore che ho potuto inventare:
private int getItemIndex(Item item, Form form) {
for(int i = 0, size = form.size(); i < size; i++) {
if(form.get(i).equals(item)) {
return i;
}
}
return -1;
}
In realtà non l'ho provato, ma dovrebbe funzionare, non mi piace dover elencare tutti gli articoli, ma non dovrebbero mai essercene così tanti, quindi immagino sia ok.
Altri suggerimenti
Bene, ci sono solo due modi per farlo, poiché l'API non ha un metodo indexOf (Item)
:
- Aggiorna l'indice che ottieni quando aggiungi un
Item
. Pertanto, quando inserisci un altroItem
prima di altri elementi, dovrai aggiornare gli indici di tali elementi. Potresti tenere una sorta di sistema di ombreggiatura per questo, ma sembra un po 'eccessivo. - Puoi scorrere tutti gli elementi di un modulo usando i metodi
size
eget
diForm
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow