Criando um List com possibilidade de múltipla escolha

Esta dica J2ME mostra como criar um List que permie a seleção de mais de um item.

fig01MultipleChoiceList.jpg

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

public class MultipleChoiceList extends MIDlet implements CommandListener
{
  private Display display;       
  private Command cmExit;      
  private Command cmView;      
  private List lsPrefs;        

  public MultipleChoiceList()
  {
    display = Display.getDisplay(this);

    // Criando um List de escolha múltipla
    lsPrefs = new List("Preferences", List.MULTIPLE);
    // Adicionando opções, sem associação com imagens
    lsPrefs.append("Auto Indent"null);
    lsPrefs.append("Replace Tabs"null);
    lsPrefs.append("Wrap Text"null);    

    cmExit = new Command("Exit", Command.EXIT, 1);
    cmView = new Command("View", Command.SCREEN,2);

    // Adidionando comandos
    lsPrefs.addCommand(cmExit);
    lsPrefs.addCommand(cmView);
    lsPrefs.setCommandListener(this);   
  }

  public void startApp()
  {
    display.setCurrent(lsPrefs);
  }

  public void pauseApp()
  { }
  public void destroyApp(boolean unconditional)
  { }

  public void commandAction(Command c, Displayable s)
  {
    if (c == cmView)
    {
      boolean selected[] = new boolean[lsPrefs.size()];
      // indica quando cada elemento é selecionado 
      lsPrefs.getSelectedFlags(selected);
      for (int i = 0; i < lsPrefs.size(); i++)
        System.out.println(lsPrefs.getString(i) + (selected
                           
[i] ? ": selected" ": not selected"));
    }
    else if (c == cmExit)
    {
      destroyApp(false);
      notifyDestroyed();
    
  }
}