This example shows how to create a multiple choice List.




 /*--------------------------------------------------
* MultipleChoiceList.java
*
* Create multiple choice list and save selection
* status of each element in an array.
*
* Example from the book:     Core J2ME Technology
* Copyright John W. Muchow   http://www.CoreJ2ME.com
* You may use/modify for any non-commercial purpose
*-------------------------------------------------*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class MultipleChoiceList extends MIDlet implements CommandListener
{
  private Display display;      // Reference to display object 
  private Command cmExit;      // A Command to exit the MIDlet
  private Command cmView;      // View the choice selected
  private List lsPrefs;        // Choice Group of preferences

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

    // Create a multiple choice list
    lsPrefs = new List("Preferences", List.MULTIPLE);
    // Append options, with no associated images
    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);

    // Add commands, listen for events
    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()];
      // Fill array indicating whether each element is checked 
      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();
    } 
  }
}

 

 

 

 Related Tips