【发布时间】:2014-03-12 02:06:01
【问题描述】:
所以我对 AsyncTasks 的工作原理不是很了解,所以这可能就是我当前的代码无法正常工作的原因。如果我的 onCreate 方法中有一个 AsyncTask 正在运行:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new UpdateSpinnerTask().execute(MainActivity.DUMMY_URI);
}
然后它就可以正常运行了。然后,如果我单击一个按钮转到另一个活动(ListView),基本上我一直在做的是重新启动 MainActivity,以便重新创建我的视图。现在微调器任务随后无法正常工作。就像它没有做它应该在执行后做的事情。
一般看起来像:
private class UpdateSpinnerTask extends AsyncTask<String, Void, List<String>> {
@Override
protected List<String> doInBackground(String... url) {
}
}
所以我的问题是,如果我想在我的 onCreate 中多次运行 AsyncTask 中的内容,这可能吗?
【问题讨论】:
-
第二次启动 MainActivity 时到底发生了什么 -
doInBackground()被调用了,onPostExecute()被调用了吗?是的,您可以多次运行 AsyncTask,但是您第二次未能实现的具体原因是什么,例如修改一些视图? -
我的坏人。我的 if 语句是一个愚蠢的错误。它运行正常。
标签: java android android-asynctask oncreate