StringItem都响应按键,按键后能获取各自的内容,怎么做

archer_xy 2006-03-21 03:34:42
我想让每个StringItem都响应按键,按键后能获取各自的内容,怎么做,下面做法无论按哪个item每次打印出来都是2,因为最后一次new的就是2。
大家看看怎么实现,帮帮忙。

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class Item extends MIDlet implements ItemCommandListener
{

private Display display;
private Command CMD_GO = new Command("Go", Command.ITEM, 1);
private StringItem strItem;
private Form form;

public Item()
{
super();
display = Display.getDisplay(this);
form = new Form("");
for(int i=0;i<3;i++)
{
strItem = new StringItem("", Integer.toString(i), javax.microedition.lcdui.Item.HYPERLINK);
strItem.setDefaultCommand(CMD_GO);
strItem.setItemCommandListener(this);
form.append(strItem);
}
display.setCurrent(form);
}
public void commandAction(Command c, javax.microedition.lcdui.Item item)
{
if (c == CMD_GO)
{
System.out.println(strItem.getText());
}
}
protected void startApp() throws MIDletStateChangeException
{
}

protected void pauseApp()
{

}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException
{

}
}
...全文
54 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
archer_xy 2006-03-22
cangwu_lee(小橙子)谢了,救人一命啊。
回复
cangwu_lee 2006-03-21
改成這樣

public void commandAction(Command c, javax.microedition.lcdui.Item item){
if(c==CMD_GO){
System.out.println( ( (StringItem)item).getText());
}
}
回复
cangwu_lee 2006-03-21
到最後,只有

strItem = new StringItem("", Integer.toString(i), javax.microedition.lcdui.Item.HYPERLINK);
strItem.setDefaultCommand(CMD_GO);

所以, strItem.getText() 永遠 = "2"
回复
cangwu_lee 2006-03-21
你的對象錯誤了
回复
archer_xy 2006-03-21
大侠呢,帮帮忙啊!!!
回复
相关推荐
发帖
J2ME
创建于2007-09-28

1.3w+

社区成员

Java J2ME
申请成为版主
帖子事件
创建了帖子
2006-03-21 03:34
社区公告
暂无公告