我有一個自定義警報。 我做了一個自定義的佈局,它擴展了Dialog,我有幾個函數定義alert的行爲。 我通過單擊按鈕來從活動中調用該自定義警報。handler.post在自定義警報中延遲崩潰我的應用程序
一切正常,直到我想添加handler.postDelayed到對話框。
下面是一些代碼從我的對話框類:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.bonus_dialog);
handler.postDelayed(tickOne, 900);
handler.postDelayed(tickTwo, 1800);
}
這裏是tickOne可運行:
Runnable tickOne = new Runnable() {
@Override
public void run() {
countdown.setText("00:04");
}
};
tickTwo方法是一樣的,只是設置其他文本。
當應用程序崩潰,這表明從我所說的對話,我跟蹤誤差回到這條線在活動的錯誤:
dialog.show();
我想通了,如果我評論handler.postDelayed方法,我的對話框將按預期顯示並消失。
所以,我的問題是 - 爲什麼在自定義對話框中不支持postDelayed方法,我該如何解決這個問題?
你可以顯示你的logcat嗎?還有,你在哪裏創建這個處理程序? – Rajeev