亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

空點來自代號一代碼的區別

空點來自代號一代碼的區別

喵喵時光機 2022-08-17 16:41:01
自從幾天前和無處不在以來,我有時會得到這個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 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

這些問題中的大多數都是由于爭用條件和違反 EDT 而發生的。這意味著您在手動創建或通過以下方式獲取的單獨線程中對UI進行了更改:計時器,網絡等。

我們在模擬器中提供了一個EDT違規檢測工具,您可以啟用該工具。當您在啟用此工具的情況下運行時,它將打印可疑違規的堆棧跟蹤。請注意,在某些情況下,它可能會產生“誤報”,但在這種情況下通常非常好。


查看完整回答
反對 回復 2022-08-17
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

這些問題中的大多數都是由于爭用條件和違反 EDT 而發生的。這意味著您在手動創建或通過以下方式獲取的單獨線程中對UI進行了更改:計時器,網絡等。

我們在模擬器中提供了一個EDT違規檢測工具,您可以啟用該工具。當您在啟用此工具的情況下運行時,它將打印可疑違規的堆棧跟蹤。請注意,在某些情況下,它可能會產生“誤報”,但在這種情況下通常非常好。


查看完整回答
反對 回復 2022-08-17
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

更新TextArea 是一個 UI 組件,因此所有交互都應在 codenameOne 事件調度線程 (EDT) 上進行。

在 TextArea 的 codenameone 主文件中,變量在方法內部聲明,并且具有調用 preced,因此它不是 null。所以罪魁禍首似乎是.rowTextrowStrings.add(rowText)

堆棧跟蹤報告位置:https://github.com/codenameone/CodenameOne/blob/master/CodenameOne/src/com/codename1/ui/TextArea.java#L1199

rowStrings 是一個實例成員,但它不是最終成員,也不是受鎖定保護的成員。

Shai Almog在他的回答中指出:任何對TextArea的操縱都應該發生在EDT上。TextArea 作為 UI 組件,不需要擔心并發性。


查看完整回答
反對 回復 2022-08-17
  • 3 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號