Re: [問題] DialogFragment NullPointerException

看板AndroidDev作者 (Mr. Pan)時間6年前 (2018/08/30 20:09), 6年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《asd860079 (U戲boy)》之銘言: : 先上圖和程式碼講一下我的程式在幹嘛 : MainActivty:https://pastebin.com/513GqcXK : DialogFram:https://pastebin.com/VnxCLPDy : Dialog2:https://pastebin.com/G9S6J1Rn 拿到 NULL 很正常,你的邏輯是這樣: ============================================ MainActivity 按下按鈕的時候從 fragmentManager 找 Tag 為 "Dialog2" 的 fragment 並設為 DialogFragm 的 targetFragment ^^^^^^^^^^^^^^^^^^^ 問題在這裡 在 DialogFragm 的 onAttach 時 getTargetFragment 並 assign 給 mOnInputListner 而按鈕按下的時候執行 Dialog2 myDialog = new Dialog2(); mOnInputListner.sendInput(type); myDialog.show(newFragment,"Dialog2"); ============================================ 問題是,你的 Dialog2 是在 DialogFragm 按下按鈕才 show 的, 也就是那個時候才 attach 到 activity 上面 那麼一開始在 MainActivity 從 fragmentManager 找 Tag 為 "Dialog2" 的時候 Dialog2 根本就沒有被 attatch 在 activity 上,所以就不可能會有東西, 當下就會拿到 NULL , 也就是你 setTargetFragment 的時候那個 dialog2 = null 因此在 DialogFragm 的 onAttach 中 getTargetFragment 也是拿到 NULL -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.49.9 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1535630975.A.336.html ※ 編輯: darkk6 (111.71.49.9), 08/30/2018 20:15:30
文章代碼(AID): #1RXzv_Cs (AndroidDev)
文章代碼(AID): #1RXzv_Cs (AndroidDev)