由於某種原因,這看起來像是一個簡單的問題,我很難與太多時間盯着計算機。我有一些代碼,我可以點擊文本來打開一個菜單(以Dialogue PreferenceActivity的形式),它允許我編輯是否使用定時器,如果有的話定時器持續多長時間。我遇到的問題是當我點擊框時,它會繼續執行主要活動線程中的代碼,並在我有機會更改編輯菜單中的設置之前執行操作。在繼續通過代碼之前等待Dialogue PreferenceActivity返回的方法
case R.id.main_timer:
startActivity(new Intent(this, EditSettingsView.class));
// NEED TO WAIT HERE FOR OVERLYING INTENT TO CLOSE
boolean editedSettingTimerOn = editedSetting.getBoolean("edit_timer_active", true);
if(editedSettingTimrOn == true){
startTimer(editedSetting.getLong("edit_timer_val", 180000);
}
break;
我需要等待活動EditSettingView.class完成之前,我得到的布爾值,因此我得到的新選擇布爾,而不是將其設置在活動開啓時的值。有沒有一種方法來實現onPause()在代碼中創建一箇中斷,然後在覆蓋的EditSettingView PreferenceActivity關閉時返回?
這也看起來像它會工作。我將不得不看看這個。 – zgc7009
將代碼移至onResume,就像魅力一樣。不知道爲什麼我沒有想到它,但感謝你的幫助。雖然我覺得OnSharedPreferenceChangeListener和startActivityForResult(),正如majormajors回答的那樣,它更簡潔,它仍然通過代碼轉換完成工作。檢查你。 – zgc7009