自從幾天前和無處不在以來,我有時會得到這個NullPointException錯誤:異常:java.lang.NullPointerException - 嘗試在空對象引用 03-19 09:08:47.785 22799-22820/上調用虛擬方法 'boolean java.util.ArrayList.add(java.lang.Object)'W/System.err: java.lang.NullPointerException: 嘗試調用虛擬方法 'boolean java.util.ArrayList.add(java.lang.Object)' on a null object reference at com.codename1.r.an.cj(TextArea.java:1199) at com.codename1.r.an.ci(TextArea.java:865) at com.codename1.r.an.H(TextArea.java:879) at com.codename1.r.an.F(TextArea.java:824) at com.codename1.r.g.b.a(DefaultLookAndFeel.java:907) at com.codename1.r.an.a(TextArea.java:1259) at com.codename1.r.l.J(Component.java:2942) atcom.codename1.r.l.K(Component.java:2981) at com.codename1.r.l.aa(Component.java:1340) at com.codename1.r.l.af(Component.java:1430) 03-19 09:08:47.786 22799-22820/?W/System.err: at com.codename1.r.e.a.b(BorderLayout.java:480) at com.codename1.r.n.a(Container.java:2224) at com.codename1.r.l.J(Component.java:2942) at com.codename1.r.l.K(Component.java:2981) at com.codename1.r.l.aa(Component.java :1340) at com.codename1.r.l.af(Component.java:1430) at com.codename1.r.e.b.a(BoxLayout.java:155) at com.codename1.r.n.bP(Container.java:1715) at com.codename1.r.n.K(Container.java:1707) at com.codename1.r.n.bP(Container.java:1720) atcom.codename1.r.n.K(Container.java:1707) at com.codename1.r.n.bP(Container.java:1720) at com.codename1.r.n.K(Container.java:1707) at com.codename1.r.n.bP(Container.java:1720) at com.codename1.r.n.K(Container.java:1707) at com.codename1.r.n .a(Container.java:1606) at com.codename1.r.v.a(Form.java:4046) at com.codename1.r.l.b(Component.java:2214) at com.codename1.r.v.b(Form.java:4056) at com.codename1.r.l.d=它不是來自我的代碼,我不知道如何解決這個間歇性錯誤。
3 回答

慕娘9325324
TA貢獻1783條經驗 獲得超4個贊
更新TextArea 是一個 UI 組件,因此所有交互都應在 codenameOne 事件調度線程 (EDT) 上進行。
在 TextArea 的 codenameone 主文件中,變量在方法內部聲明,并且具有調用 preced,因此它不是 null。所以罪魁禍首似乎是.rowText
rowStrings.add(rowText)
rowStrings 是一個實例成員,但它不是最終成員,也不是受鎖定保護的成員。
Shai Almog在他的回答中指出:任何對TextArea的操縱都應該發生在EDT上。TextArea 作為 UI 組件,不需要擔心并發性。
添加回答
舉報
0/150
提交
取消