作者taco2548 (T@cO)
看板AndroidDev
標題[問題] 求救DialogFragment
時間Sat Dec 23 07:53:25 2017
今天試圖用DialogFragment做一個讓用戶輸入的對話框
但一直碰壁,比直接用AlertDialog做還要麻煩...
先附上code
DialogFragment
https://i.imgur.com/LmOAgWr.png
Activity
https://i.imgur.com/gpnzcoj.png
Logcat
https://i.imgur.com/LSJ0wNB.png
錯誤總是setInfoText, 簡單的說, 我的infoText永遠是空的
findViewById沒有任何作用, 請瞭解的先進提示一下, 謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.138.138.92
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1513986811.A.CE3.html
1F:推 voickylin: 應該是順序問題,再看看其他範例的說明吧 12/23 09:16
2F:→ lnmlee: 加個轉型看看 12/23 09:46
3F:→ taco2548: 轉哪 12/23 09:56
4F:→ cha122977: 有enter_dialog.xml原始碼嗎? 12/23 12:42
5F:→ lnmlee: findView 完轉型 TextView 12/23 13:04
6F:→ erty0402: 轉型是下一個問題 12/23 13:26
7F:→ roy870075: 你要在onCreateView做不是onCreateDialog… 12/23 17:22
8F:→ taco2548: onCreateView也做過了,一樣結果 12/23 17:48
9F:→ taco2548: 事實上若是寫在show之前,是可以運作的,像這樣 12/23 17:49
11F:→ taco2548: 但如果在show之後,infoText就不見了 12/23 17:52
12F:→ taco2548: 因為我還要用EditText跟Button,要取得用戶的動作跟輸入 12/23 17:55
※ 編輯: taco2548 (223.138.138.92), 12/23/2017 17:57:47
13F:→ taco2548: 但我在show之後,所有東西都是空的,view也是 12/23 18:03
14F:→ roy870075: 那試試寫在onViewCreated呢? 12/23 19:01
15F:→ salavida: show只是開啟一個transcation說要加入一個fragment 12/24 00:12
16F:→ salavida: 所以fragment並沒有立刻生成好 12/24 00:13
17F:→ salavida: 把setInfoText換成印log然後onCreateDialog第一行印log 12/24 00:16
18F:→ salavida: 看一下log順序 12/24 00:16
19F:→ taco2548: log順序確實是像大大說的一樣,show排超後面 12/25 11:39
20F:→ taco2548: 請問該怎麼解決這個問題? 12/25 11:40
21F:→ taco2548: 找到答案了 executePendingTransactions() ,,非常感謝 ! 12/25 11:44
22F:→ qweqweqweqwe: 比較建議用setArguments... 12/30 04:32
23F:→ qweqweqweqwe: 另外在 onCreateDialog 內就可以了 12/30 04:33