gpt4 book ai didi

java - 当 Activity 在后台时在 AsyncTask.onPostExecute 上显示 DialogFragment;

转载 作者:行者123 更新时间:2023-11-30 08:50:10 24 4
gpt4 key购买 nike

当 Activity 转到后台后尝试显示对话框时,我得到了 java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState,我需要向用户显示此消息,是有任何方法可以在恢复 Activity 时显示对话框。我的代码是这样的:

public class MyTask extends AsyncTask<String,String,String>{

ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);

@Override
protected void onPreExecute() {
progressDialog.setMessage(getString(R.string.dialog_progress_message));
progressDialog.setCancelable(false);
progressDialog.show();
}

@Override
protected String doInBackground(String... params) {
// HTTP POST user action
// App goes to background (user press home button i.e.)
// Getting message from server
return message;
}

@Override
protected void onPostExecute(String message) {
progressDialog.dismiss();

DialogAlert dialogAlert = DialogAlert.newInstance(message);
dialogAlert.setCancelable(false);
//App crash here
dialogAlert.show(getSupportFragmentManager(), TAG);

}
}

我已经尝试使用 AsyncTaskLoader,但是当 Activity 恢复时对话框没有出现。任何想法。

最佳答案

试试下面的代码 fragment ,

替换

dialogAlert.show(getSupportFragmentManager(), TAG);

getSupportFragmentManager().beginTransaction().add(dialogAlert, "tag")
.commitAllowingStateLoss();

关于java - 当 Activity 在后台时在 AsyncTask.onPostExecute 上显示 DialogFragment;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31109428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com