今天晚上回到家,构思了下ListView的实现
本来想ListView 是准备设计成一个可以伸缩的树状结构的,不过,由于时间关系,就暂时先实现一个简单的List吧
看看我的ListDemo的代码跟图片吧。
package org.gggeye.easymf.demo.ui;
import javax.microedition.lcdui.Displayable;
import org.gggeye.easymf.demo.Action;
import org.gggeye.easymf.demo.DemoApp;
import org.gggeye.easymf.midlet.MIDletManager;
import org.gggeye.easymf.ui.EventListener;
import org.gggeye.easymf.ui.ListView;
import org.gggeye.easymf.ui.Menu;
import org.gggeye.easymf.ui.MenuItem;
import org.gggeye.easymf.ui.View;
import org.gggeye.easymf.util.Tools;
public class ListDemo extends ListView implements EventListener{
public ListDemo() {
super("List Demo");
this.setEventListener(this);
createMenu();
}
final void createMenu(){
Menu tMenu = new Menu(this);
tMenu.addMenuItem(null, "添加", Action.LIST_DEMO_ADD, null);
tMenu.addMenuItem(null, "插入", Action.LIST_DEMO_INSERT, null);
tMenu.addMenuItem(null, "删除", Action.LIST_DEMO_DELETE, null);
tMenu.setEventListener(this);
tMenu.setRightMenu("返回", Action.GO_BACK);
this.setMenu(tMenu);
}
public void htmlElementOnClick(View element) {
}
public void menuOnClick(MenuItem _item, Displayable _displayable) {
int flag = _item.flag;
switch(flag){
case Action.GO_BACK: goBack(); break;
case Action.LIST_DEMO_ADD: {
this.addItem(Tools.readImage("/about.png"), "列表 " + this.size());
break;
}
case Action.LIST_DEMO_INSERT: {
int tIndex = this.getFocusItem().getIndex();
this.addItem(Tools.readImage("/about.png"), "列表 " + tIndex);
break;
}
case Action.LIST_DEMO_DELETE:{
int tIndex = this.getFocusItem().getIndex();
this.delete(tIndex);
break;
}
}
}
void goBack(){
((DemoApp)MIDletManager.getMIDlet()).menuList.show();
}
}
本来想ListView 是准备设计成一个可以伸缩的树状结构的,不过,由于时间关系,就暂时先实现一个简单的List吧
看看我的ListDemo的代码跟图片吧。
package org.gggeye.easymf.demo.ui;
import javax.microedition.lcdui.Displayable;
import org.gggeye.easymf.demo.Action;
import org.gggeye.easymf.demo.DemoApp;
import org.gggeye.easymf.midlet.MIDletManager;
import org.gggeye.easymf.ui.EventListener;
import org.gggeye.easymf.ui.ListView;
import org.gggeye.easymf.ui.Menu;
import org.gggeye.easymf.ui.MenuItem;
import org.gggeye.easymf.ui.View;
import org.gggeye.easymf.util.Tools;
public class ListDemo extends ListView implements EventListener{
public ListDemo() {
super("List Demo");
this.setEventListener(this);
createMenu();
}
final void createMenu(){
Menu tMenu = new Menu(this);
tMenu.addMenuItem(null, "添加", Action.LIST_DEMO_ADD, null);
tMenu.addMenuItem(null, "插入", Action.LIST_DEMO_INSERT, null);
tMenu.addMenuItem(null, "删除", Action.LIST_DEMO_DELETE, null);
tMenu.setEventListener(this);
tMenu.setRightMenu("返回", Action.GO_BACK);
this.setMenu(tMenu);
}
public void htmlElementOnClick(View element) {
}
public void menuOnClick(MenuItem _item, Displayable _displayable) {
int flag = _item.flag;
switch(flag){
case Action.GO_BACK: goBack(); break;
case Action.LIST_DEMO_ADD: {
this.addItem(Tools.readImage("/about.png"), "列表 " + this.size());
break;
}
case Action.LIST_DEMO_INSERT: {
int tIndex = this.getFocusItem().getIndex();
this.addItem(Tools.readImage("/about.png"), "列表 " + tIndex);
break;
}
case Action.LIST_DEMO_DELETE:{
int tIndex = this.getFocusItem().getIndex();
this.delete(tIndex);
break;
}
}
}
void goBack(){
((DemoApp)MIDletManager.getMIDlet()).menuList.show();
}
}
![](http://www.3geye.net/attachments/2008/05/3_200805072110231.jpg)