J2ME里面有自带的List类,但是功能太弱,没有实现View和Model的分离,所以操作起来比较费事。本来事想写一个Canvas的TreeList,但是画起来算坐标又太麻烦,所以选取了一个折中的方法,继承List,实现一个操作起来比较方便的组件。
目的:
1.可伸缩的目录树结构,暂时先实现两层。
2.Label和存储内容分离。
3.激活和非激活图片分开。
4.通过选择事件可以准确快速找到对应内容
5.存储内容无关性,里面可以放置任何Object
实现思路:
1.封装一个ExpandItem类,用来存储每一条数据。
/** * 默认图片 */ private String imagePath=""; /* * 激活图片,如果为空说明此图片无效 */ private String selectImgPath=null; /** * 组 */ public static int GROUP=1; /** * 记录 */ public static int ITEM=0; /** * 是否选中,如果选中则默认为展开状态 */ private boolean ifselected=false; /** * 显示Label */ private String label; /** * 类型:组,记录 */ private int type; /** * 存储的对象 */ |
GROUP表示这个ITEM是一个父节点,下面包含字节点,这样它的Content将是一个Vector.ITEM表示这个ITEM是根节点。
selectImgPath,是激活后的图标,可以为空,为空的时候选择了这个ITEM图标不变。
1
2
3
4
下一页>>