Java me Java ME处理多个屏幕
我正在创建一个应用程序,当应用程序启动时,用户可以选择向驻留在存储卡上的应用程序添加文件。有一个名为“添加新文件”的按钮;当用户单击“添加新文件”时,将出现一个表单,其中用户将输入文件名并可以添加文件,但添加新文件的命令无效。有人能告诉我哪里出了问题吗 我的代码片段是Java me Java ME处理多个屏幕,java-me,nokia,Java Me,Nokia,我正在创建一个应用程序,当应用程序启动时,用户可以选择向驻留在存储卡上的应用程序添加文件。有一个名为“添加新文件”的按钮;当用户单击“添加新文件”时,将出现一个表单,其中用户将输入文件名并可以添加文件,但添加新文件的命令无效。有人能告诉我哪里出了问题吗 我的代码片段是 import javax.microedition.lcdui.*; import javax.microedition.midlet.*; import javax.microedition.io.file.*; import
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.microedition.io.file.*;
import javax.microedition.io.Connector;
import java.io.IOException;
import java.util.*;
public class HelloMIDlet
extends MIDlet
implements CommandListener {
private List list;
private Alert alert;
private Display display;
private Form form;
private TextField fname,fpath;
private Command select,remove,add,fadd,back,exit;
public HelloMIDlet() {
form=new Form("add new:");
fname=new TextField("enter File Name","",40,TextField.ANY);
fpath=new TextField("enter File path","file:///SDCard/",50,TextField.ANY);
list = new List("Welcome", List.IMPLICIT);
remove=new Command("Remove Selected",Command.SCREEN,2);
exit=new Command("Exit",Command.EXIT,0);
select=new Command("Select",Command.SCREEN,1);
add=new Command("Add New",Command.SCREEN,2);
list.addCommand(exit);
list.addCommand(select);
list.addCommand(add);
list.addCommand(remove);
form.append(fname);
form.append(fpath);
list.setCommandListener(this);
}
public void startApp() {
display=Display.getDisplay(this);
display.setCurrent(list);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
public void commandAction(Command c, Displayable s) {
if(c==exit)
{
notifyDestroyed();
}
else if(c==add)
{
// display.setCurrent(form);
addfile();
}
else if(c==remove)
{
}
else if(c==back)
{
display.setCurrent(list);
}
else if(c==fadd)
{
alert=new Alert("Open the file:","Would you like to open the current file??",null,null);
alert.setTimeout(Alert.FOREVER);
}
else if(c==list.SELECT_COMMAND)
{
}
}
public void addfile()
{fadd=new Command("add File",Command.SCREEN,0);
back=new Command("Back",Command.BACK,1);
form.addCommand(fadd);
form.addCommand(back);
form.setCommandListener(this);
display.setCurrent(form);
}
}
当您选择“添加文件”时,命令由commandAction
触发和处理,具体来说,这段代码:
else if(c==fadd)
{
alert=new Alert("Open the file:","Would you like to open the current file??",null,null);
alert.setTimeout(Alert.FOREVER);
// You were creating a Alert instance, but not showing it, this line below is one you
// were missing
display.setCurrent(alert, list);
}
您可以使用
setCurrent(警报警报,可显示的nextDisplayable)
或setCurrent(可显示的nextDisplayable)
,具体取决于您的需要。它基本上是一个附件应用程序,其中一个csv文件将存储在存储卡上,用户可以将该文件添加到应用程序中,并在添加文件时,他可以打开它来编辑考勤。因此,通过警报,用户可以选择打开该文件进行编辑。当我单击“添加文件”命令时,实际上什么也没有发生。您可以自己尝试一下此代码吗?实际上,我正在创建一个附件应用程序,我希望用户可以从存储卡中选择一个csv文件进行编辑。