2012-11-29 18 views
0

我有一個測驗應用程序。我希望用戶從警報對話框中選擇問題的類型。所以警報對話框有一個複選框按鈕,所以如果用戶可以選擇更多然後選擇類型。當用戶點擊警報對話框中的肯定按鈕時,它會發送信息給if條件,然後條件將過濾問題,然後將其傳遞給數組。問題是數組的內部oncreate,我想警報對話框在同一個類,所以當我運行類oncreate將開始,我得到空異常,因爲我沒有傳遞任何信息到數組。 如何延遲oncreate()並使其僅在用戶單擊警報對話框的正面按鈕後加載。 警報對話框將在同一個類中。 那麼我該怎麼做呢?可能嗎? 和謝謝。如何延遲活動直到用戶接受警報對話框

+0

更多的解釋在這裏將有很大的幫助... – PearsonArtPhoto

+0

你不能延遲onCreate(),你也不會**想這樣做。只需在onResume()中彈出AlertDialog,不要讓人們離開它,直到他們按下「ok」關閉它。 – DeeV

+0

我有一個測驗應用程序。我希望用戶從警報對話框中選擇問題的類型。所以警報對話框有一個複選框按鈕,所以如果用戶可以選擇更多然後選擇類型。當用戶點擊警報對話框中的肯定按鈕時,它會發送信息給if條件,然後條件將過濾問題,然後將其傳遞給數組。問題是數組的內部oncreate,我想警報對話框在同一個類,所以當我運行類oncreate將開始,我得到空異常,因爲我沒有傳遞任何信息到數組。所以如果能解決這個問題呢? – Taha

回答

1

的onCreate()的工作是第一個每android activity lifecycle使創建活動時,沒有叫。我不確定爲什麼你會希望它在同一個活動,如果你不想它開始,除非他們點擊「確定」。把它放在它自己的課程或以前的活動中。

0

嘗試使用AsyncTask類。該onPostExecute方法可能就是你正在尋找..

1

不可以,如果您嘗試在活動內部的OnCreate()方法內延遲某些內容,它將引發異常,因爲此時沒有上下文來放置警報對話框。正如codeMagic先前所述,如果您在此之前有過預先的活動,那麼最好的辦法就是在針對該意圖調用startActivity之前創建警報。

1

我建議在這種情況下使用Fragments。加載活動,顯示對話框,並根據答案顯示「正確答案片段」或「無效答案片段」。 通過此解決方案活動加載(無需延遲),您只需動態更改活動的內容。