NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Capitolo 12: La classe List.

 

Un oggetto List è un oggetto di tipo Screen atto a rappresentare una lista: ogni suo elemento ha una stringa e un'icona (opzionale).

 

Le liste create con List possono essere di tre tipi:

  • implicite: ogni elemento della lista è un Command vero e proprio (lancia un evento List.SELECT_COMMAND), per cui, quando viene selezionata una voce, essa lancia un evento di comando;
  • a scelta esclusiva: è possibile selezionare solo un elemento per volta;
  • a scelta multipla: è possibile selezionare più voci per volta, la selezione di un elemento non esclude gli altri (come avviene, invece, con la scelta esclusiva).

Vedremo presto come specificare il campo tipo per un oggetto List.

 

 

Costruttori:

  • List(String title, int listType);
  • List(String title, int listType, String[] stringElements, Image[] imageElements); .

 

Il parametro listType specifica il tipo di lista e può assumere i seguenti valori:

  • IMPLICIT, per le liste implicite;
  • EXCLUSIVE, per le liste a scelta esclusiva;
  • MULTIPLE, per le liste a scelta multipla.

 

Metodi utili:

append(String stringPart, Image imagePart)   :   int Aggiunge un elemento alla lista.
getSelectedIndex()   :   int Restituisce l'indice (la posizione) dell'elemento selezionato.
isSelected(int n)   :   boolean Verifica se l'elemento di indice-posizione n è selezionato.
size()   :   int Restituisce il numero di elementi presenti nella lista.

 

Esempio pratico:

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;


public class Prova extends MIDlet implements CommandListener
{
private Display d;
private Form f;
private Command indietro, esci;
private List lista;


public Prova()
{
d = Display.getDisplay(this);
f = new Form("Form di prova");
indietro = new Command("indietro", Command.BACK, 0);
esci = new Command("Esci", Command.EXIT, 1);
lista=new List("Esempio liste",List.IMPLICIT);
lista.addCommand(indietro);
lista.addCommand(esci);
lista.setCommandListener(this); // Imposto il listener dei comandi per la lista
lista.append("Voce 1", null);
lista.append("Voce 2", null);
d.setCurrent(lista); // Un List ha caratteristiche equivalenti a quelle di un Form: è contenuto nel Display, contiene Commands, ...
}

protected void startApp()
{
}

protected void pauseApp() { }

protected void destroyApp(boolean arg0)
{
notifyDestroyed();
}


public void commandAction(Command c, Displayable s)
{
int t = c.getCommandType();
if (t==Command.EXIT) destroyApp(true); // Termino l'applicazione
else if (t==Command.BACK) ; // Non fa nulla, in questo caso
else if (c==List.SELECT_COMMAND) // Se l'utente ha selezionato una voce della lista...
{
int index=lista.getSelectedIndex();
System.out.println("Selezionato l'elemento di indice: " + index); // Stampo, nell'area di lavoro del WTK, l'indice della voce selezionata.
}
}
}

 

In questo esempio, al Display viene agganciato direttamente un oggetto List (non abbiamo bisogno di un Form: List e Form discendono entrambi da Displayable e possono contenere degli elementi da mostrare a video).

L'oggetto List è popolato da due voci: selezionandole, si avrà un output sulla console del WTK (tramite System.out.println).

Da notare il controllo sul tipo di evento nel metodo commandAction.

NOTA: per spostare la selezione tra le voci ed effettuare la selezione, cliccare con il mouse sui pulsanti freccia e sul pulsante centrale (pulsante di ok, di conferma) del 'cellulare' del WTK.

 

 
Vai all'inizio della pagina