這似乎沒有工作。警告對話框甚至不會顯示標題或消息,除非我在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. 更新字符串數組與Android的後續更新ListView
- 2. 更新查詢字符串
- 3. 更新列值,字符串
- 4. 公共字符串不希望更新
- 5. 不能更新值作爲字符串
- 6. SQL更新 - 更改字符串
- 7. MySQL隨機數+字符串更新行
- 8. PHP更新數組字符串
- 9. 從字符串數組更新mysqldatabase
- 10. 更新字符串數組用C
- 11. SQL更新,串數字
- 12. 使用參數化更新命令更新多個mysql列
- 13. 使用jQuery來更改HTML字符串:不會更新字符串
- 14. MS訪問更新查詢更新部分字符串
- 15. ORACLE:更新多列錯誤:無法更新字符串爲NULL
- 16. Android SQLite更新方法不會更新
- 17. 更新與參數
- 18. 更新URL參數
- 19. 自動更新模板字符串值而不刷新頁面
- 20. 更新ASP.Net MVC的資源字符串不會更改輸出
- 21. 在web.config更新後,Edmx連接字符串不會更改
- 22. 字典參考不更新字典
- 23. Splunk模塊化輸入更新參數
- 24. SQLite的參數化的更新
- 25. SQL中的參數化更新(Microsoft Access)
- 26. 刷新函數中的Knockout Observable字符串更新
- 27. 更新值時更改爲字符串數組
- 28. 如何用PostgreSQL更新jsonb字符串?
- 29. C#將字符串更改爲新值
- 30. JSON字符串更新的TextView
是的,這是一個錯誤:http://code.google.com/p/android/issues/detail?id=6489。您必須在onCreateDialog中使用非null值初始化消息,以使setMessage()在onPrepareDialog中工作。 – 2012-04-03 20:00:55