1.J2me读取TXT文件,如果在JAR里面就很快了,如果在文件系统里面就慢的可以...
2.为了读取出来的能够自动分行,所以把读出来的内容存放在了Vector数组里面.
在构造函数里面初始化了数组.
vector = getSubsection(str,font,width-10, " ,.?! ");
然后在paint函数里面读取数组的一部份显示一页,
如果不分页没什么问题,为了分页,加了按扭事件,改变读到数组的位置,比如第一页的时候是循环数组的1-15条,第二页就是15-30条..按扭后调用repaint();函数,可是出现了如下错误...如果把初始化数组的放在Paint函数里面就正常了,可是这样不是每点一回按扭都要重新把字符串分断存数组? 请问是什么原因,搞了很久,实在不明白.
java.lang.NullPointerException
at txtReader.paint(+43)
at javax.microedition.lcdui.Canvas.callPaint(+85)
at javax.microedition.lcdui.Display.repaint(+82)
at javax.microedition.lcdui.Display$DisplayAccessor.repaint(+14)
at javax.microedition.lcdui.Display$DisplayManagerImpl.repaint(+16)
at com.sun.midp.lcdui.DefaultEventHandler.repaintScreenEvent(+24)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(+485)
------解决方案--------------------------------------------------------
空指针错误
当你setCurrent的时候,就调用paint了。而这个时候你可能还没有进行分组,那个Vector为null的话就出空指针了
1.paint里判断下,如果Vector为空,就跳过这段绘制
------解决方案--------------------------------------------------------
初始化哪有放到paint()里面这么干的,放到构造函数中!!
------解决方案--------------------------------------------------------
那就一次一个 char