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.

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.



<B><SPAN lang=EN-US >import </SPAN></B><SPAN lang=EN-US >javax.microedition.midlet.*;</SPAN>
<B><SPAN lang=EN-US >import </SPAN></B><SPAN lang=EN-US >javax.microedition.lcdui.*;</SPAN>

<B><SPAN lang=EN-US >public class </SPAN></B><SPAN lang=EN-US >MultipleChoiceList </SPAN><B><SPAN lang=EN-US >extends </SPAN></B><SPAN lang=EN-US >MIDlet </SPAN><B><SPAN lang=EN-US >implements </SPAN></B><SPAN lang=EN-US >CommandListener</SPAN>
<SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >private </SPAN></B><SPAN lang=EN-US >Display display;      </SPAN><SPAN lang=EN-US > </SPAN>
<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >private </SPAN></B><SPAN lang=EN-US >Command cmExit;      </SPAN>
<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >private </SPAN></B><SPAN lang=EN-US >Command cmView;      <BR></SPAN><SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >private </SPAN></B><SPAN lang=EN-US >List lsPrefs;        </SPAN>

<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >public </SPAN></B><SPAN lang=EN-US >MultipleChoiceList()</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >display = Display.getDisplay(</SPAN><B><SPAN lang=EN-US >this</SPAN></B><SPAN lang=EN-US >);</SPAN>

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

<SPAN lang=EN-US >cmExit = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Command(</SPAN><SPAN lang=EN-US >"Exit"</SPAN><SPAN lang=EN-US >, Command.EXIT, </SPAN><SPAN lang=EN-US >1</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >cmView = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Command(</SPAN><SPAN lang=EN-US >"View"</SPAN><SPAN lang=EN-US >, Command.SCREEN,</SPAN><SPAN lang=EN-US >2</SPAN><SPAN lang=EN-US >);</SPAN>

<SPAN lang=EN-US >// Adidionando comandos</SPAN>
<SPAN lang=EN-US >lsPrefs.addCommand(cmExit);</SPAN>
<SPAN lang=EN-US >lsPrefs.addCommand(cmView);</SPAN>
<SPAN lang=EN-US >lsPrefs.setCommandListener(</SPAN><B><SPAN lang=EN-US >this</SPAN></B><SPAN lang=EN-US >);   </SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >}</SPAN>

<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >startApp()</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >display.setCurrent(lsPrefs);</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >}</SPAN>

<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >pauseApp()</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >{ }</SPAN>
<SPAN lang=EN-US >  </SPAN><B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >destroyApp(</SPAN><B><SPAN lang=EN-US >boolean </SPAN></B><SPAN lang=EN-US >unconditional)</SPAN>
<SPAN lang=EN-US >  </SPAN><SPAN lang=EN-US >{ }</SPAN>

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

Artigos relacionados