編輯:我相信我需要幫忙的我勉強
列表中選定的元素爲它顯示一個新的形式,但我有很多的麻煩找源碼爲
的代碼。
用命令的聽衆和新形式J2ME困惑
我一直在試圖讓一個應用程序,允許用戶選擇一個日期,然後添加
和刪除基於選定日期的事件。到目前爲止,我已經創建了第一個屏幕
這是一個供用戶選擇的選項列表。
這些選項包括:
- 選擇日期
- 添加活動
- 刪除事件
- 瀏覽活動
我遇到的問題是,我不能讓我的頭圍繞如何根據
顯示列表中選定項目的新表單。我發現了一個小教程,允許我添加一個命令
偵聽器,它顯示所選項目,但我無法弄清楚它是如何得到在列表中選擇的
項目以及如何根據所選項目創建新窗體?
這是我的代碼到目前爲止。
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.List;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
public class mainMidlet extends MIDlet implements CommandListener {
private Display display;
private List list = new List("Please Select a Option", List.IMPLICIT);
private Command select = new Command("Select", Command.SCREEN, 1);
private Form form;
Alert alert;
public mainMidlet() {
display = Display.getDisplay(this);
list.append("Select Date", null);
list.append("Add Events", null);
list.append("Remove Events", null);
list.append("Browse Events", null);
list.addCommand(select);
list.setCommandListener(this);
}
public void startApp() {
display.setCurrent(list);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command command, Displayable displayable) {
if (command == List.SELECT_COMMAND) {
String selection = list.getString(list.getSelectedIndex());
alert = new Alert("Option Selected", selection, null, null);
alert.setTimeout(Alert.FOREVER);
alert.setType(AlertType.INFO);
display.setCurrent(alert);
} else if (command == select) {
destroyApp(false);
notifyDestroyed();
}
}
}
你考慮發佈一個新的問題,而不要修改這個(這似乎要回答的,是不是)之間切換?在SO回答者往往不喜歡[「變色龍問題」](http://meta.stackexchange.com/questions/43478/exit-strategies-for-chameleon-questions「MSO相關討論」) – gnat