- 締切済み
iアプリプログラム
iアプリを作っています。初期画面にリストボックスで項目を並べて、一つを選ぶと違う画面にいく(別のクラスに行く?)という単純なプログラムを教えてください
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Request-x
- ベストアンサー率51% (47/92)
こんばんは。 以下のようなプログラムで実現できると思います。 -- ここから ---------------------------------------------------------- import com.nttdocomo.ui.* ; public class Test extends IApplication implements ComponentListener { //ここ! Panel mainPanel, subPanel1, subPanel2, subPanel3 ; ListBox menuList ; public void start() { mainPanel = new Panel() ; menuList = new ListBox(ListBox.NUMBERED_LIST) ; menuList.append("1") ; menuList.append("2") ; menuList.append("3") ; mainPanel.add(menuList) ; mainPanel.setComponentListener(this) ; //ここ! subPanel1 = new Panel() ; subPanel1.add(new Label("Hello World! 1")) ; subPanel2 = new Panel() ; subPanel2.add(new Label("Hello World! 2")) ; subPanel3 = new Panel() ; subPanel3.add(new Label("Hello World! 3")) ; Display.setCurrent(mainPanel) ; } public void componentAction(Component source, int type, int param) { //SELECTION_CHANGED では、paramに選択した値が渡される if (type == SELECTION_CHANGED) { //ListBoxで選択した値に応じ画面遷移 switch (param) { case 0 : Display.setCurrent(subPanel1) ; break ; case 1 : Display.setCurrent(subPanel2) ; break ; case 2 : Display.setCurrent(subPanel3) ; break ; } } } } -- ここまで ---------------------------------------------------------- これだと前画面に戻る事が出来ないので、ソフトキー押下などで呼び出した画面に戻る処理を それぞれ作成する必要があります。 ただし、P503i(S)は以前選択した値と同じ値を選択すると、componentAction が 呼び出されないので、SoftkeyListenerで行う方が良いと思います。