我實現這個自定義AlertDialog像這樣:如何製作android對話框模式?
AlertDialog dialog = new AlertDialog.Builder(this)
.setView(dialogView)
.setTitle(getResources().getString(R.string.addedit_asklater_price))
.setCancelable(false)
.create();
dialog.setMessage(text);
dialog.setOwnerActivity(this);
dialog.setButton(...)
dialog.setButton(...)
dialog.show();
doProcessUserInput();
然而,我發現後dialog.show()
控制立即流向doProcessUserInput()
無需等待用戶駁回使用任何對話框按鈕的對話框。
這種行爲似乎很奇怪,我期待對話框是模態的,就像我總是知道模態對話框一樣。
我可以重構我的代碼,以便從對話框按鈕onClickListener
調用doProcessUserInput()
。但是我想知道是否有一種方法可以在dialog.show()
處暫停程序執行,直到對話完成。
PS:
- 我一直在使用,擴展對話框定製對話框試過,但它具有 同樣的問題。我在按鈕的
onClickListener
中創建對話框。 - 我試過實施
Activity::onCreateDialog
並使用showDialog(id)
而不是dialog.show()
,但這有同樣的問題。
嗯...現在有道理。沒有想過這個角度。來自一生桌面編程的蜘蛛網。 –