Re: [問題] DialogFragment NullPointerException
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章