我有用戶可以更改的EditTexts片段。尋找在onPause中實現模態對話框的最佳方式
除了我回到工具欄(和物理後退按鈕太)
當用戶點擊後,我檢查按鈕,如果數據被改變,如果這是 - 我需要打開對話框,詢問用戶「你想保存更改嗎?」。獲得點擊並採取相應措施(正面或負面答案)。
保存數據的最佳地點(也許我錯了)在onPause這個片段。
問題出在對話框 - 它不是模態的,當它顯示問題並等待用戶反應時 - 它下面的片段消失,並且之前從堆棧中返回。 我需要用對話框「暫停onPause」,直到用戶做出選擇。什麼是簡單(或最正確)的方式來做到這一點?
@Override
public void onPause() {
if (!(text.getText().toString().equals(user.getName())))
{
new MaterialDialog.Builder(getActivity())
.title("Save changes?")
.content("You changed you personal details, save changes?")
.cancelable(false)
.positiveText("Save")
.negativeText("Discard")
.onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
save();
}})
.show();
}
super.onPause();
}
如果我想的onPause之前做到這一點 - 我需要趕上工具欄的後退按鈕和物理後退按鈕 - 似乎太辛苦了這一點。尋找優雅的方式。
謝謝活動時移動到背景
這是一個片段。它沒有onBackPressed。 – Shmuel
我更新了我的答案 – swerly