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
{

}
}
...全文
94 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
大侠呢,帮帮忙啊!!!

13,097

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧