Android 处理异步任务的结果
目前,我的应用程序正在/正在异步任务中处理http post和其他内容,然后当任务完成并调用onPostExecute时,我会尝试通过片段事务重定向到另一个片段。事实证明,这相当棘手,我正在寻找其他方法来处理这种情况,而不必尝试在onPostExecute中提交事务。谢谢 编辑:这是从onPostExecute调用的方法Android 处理异步任务的结果,android,android-asynctask,fragmenttransaction,Android,Android Asynctask,Fragmenttransaction,目前,我的应用程序正在/正在异步任务中处理http post和其他内容,然后当任务完成并调用onPostExecute时,我会尝试通过片段事务重定向到另一个片段。事实证明,这相当棘手,我正在寻找其他方法来处理这种情况,而不必尝试在onPostExecute中提交事务。谢谢 编辑:这是从onPostExecute调用的方法 private void callback(boolean submissionSuccessful) { if (submissionSuccessful)
private void callback(boolean submissionSuccessful)
{
if (submissionSuccessful)
{
FragmentManager fragmentManager = getActivity()
.getSupportFragmentManager();
Fragment f = new CompletedFragment();
Bundle args = new Bundle();
args.putString("id", reportToSubmit.getReferenceId());
f.setArguments(args);
fragmentManager.beginTransaction()
.replace(R.id.content_frame, f, "completed").commit();
}
else
{
Toast.makeText(getActivity(), getResources().getString(R.string.report_error),
Toast.LENGTH_LONG).show();
}
}
原因如下:用户完成向导(ViewPager),提交,处理时显示进度对话框,完成onPostExecute后提交确认片段,让用户知道过程已完成。逻辑看起来很好。我不确定你想改变什么 2件事:
- 您可能希望告诉您的
执行转换(移动回调方法)。这将此片段与第二个片段分离,第二个片段被认为是“良好实践”活动
- 其次,在
中,您的onPostExecute
片段可能不再附加到
,并且活动
将返回getActivity()
。您可以在null
中取消onPause
,或在AsyncTask
中检查onPostExecute
isAdded