這似乎沒有工作。警告對話框甚至不會顯示標題或消息,除非我在onCreateDialog方法中設置它們。Android,onPrepareDialog更新參數化字符串不更新。
2
A
回答
0
我覺得你很困惑創建和準備行爲。
- onCreateDialog用於設置對話框上的控件。它被調用一次。
- onPrepareDialog用於自定義顯示的值。它被稱爲每次對話框顯示
2
我想我有一個修補程序onPrepareDialog不顯示與setMessage設置的消息。當最初創建對話框時(當它仍然是AlertDialog.Builder時),您必須將消息設置爲初始狀態(非空值),或者onPrepareDialog不會用預期值覆蓋它。所以當你創建對話框時,做一些這樣的事情,在消息中總是有一個非空值。我這個奮鬥了幾天,發現意外此解決方案:
當最初創建對話框(而不是在onPrepareDialog):
AlertDialog.Builder resultAlert = new AlertDialog.Builder(context);
if (message == null) {
resultAlert.setMessage("");
} else {
resultAlert.setMessage(message);
}
然後onPrepareDialog,你應該能夠覆蓋與任何字符串值你想使用dialog.setMessage(yourMessage)。這似乎是Google代碼中的一個缺陷(我認爲他們稱之爲bug)。
相關問題
- 1. 更新不更新整個字符串
- 2. 更新字符串數組與Android的後續更新ListView
- 3. string.Replace()不更新字符串
- 4. 參數化更新
- 5. 更新字符串
- 6. 更新字符串
- 7. MySQL的更新只更新整數,而不是字符串
- 8. 在socket.io重新連接更新查詢字符串參數
- 9. 字符串數組替換不更新原始字符串
- 10. 更新查詢字符串
- 11. 更新公共字符串
- 12. 更新列值,字符串
- 13. C#更新Uri字符串
- 14. oleDbDataAdapter更新字符串
- 15. 更新連接字符串
- 16. 不能更新值作爲字符串
- 17. MySQLI字符串不會更新信息
- 18. 公共字符串不希望更新
- 19. 字符串不會自動更新
- 20. SQL更新 - 更改字符串
- 21. MySQL隨機數+字符串更新行
- 22. 從字符串數組更新mysqldatabase
- 23. PHP更新數組字符串
- 24. 更新字符串數組用C
- 25. 從javascript函數更新groovy字符串中的多個參數
- 26. SSRS參數更新字段
- 27. SQL更新,串數字
- 28. 更新表從兩個逗號分隔字符串參數
- 29. RNN參數不更新?
- 30. 使用參數化更新命令更新多個mysql列
是的,這是一個錯誤:http://code.google.com/p/android/issues/detail?id=6489。您必須在onCreateDialog中使用非null值初始化消息,以使setMessage()在onPrepareDialog中工作。 – 2012-04-03 20:00:55