【发布时间】:2013-08-28 11:01:03
【问题描述】:
我有一些片段,它们都使用非常简单的异步任务,它们大部分看起来都一样,并且派生自相同的基本任务。 在它们中的大多数中,我在执行它们时看到进度对话框圆圈旋转,但在一个中,尽管任务已正确执行,但它并没有出现。
为什么?我使用的默认设置仅覆盖 doInBackground 和 onPostExecute。
可能是布局引起的(但在我的情况下它们是相似的?
这是导致问题的异步任务的代码(有和没有进度对话框的任务都是同一个任务类的子任务)
/**
* AsyncTask che richiede i dati al server
* @author pc
*
*/
class MuroTask extends GetDataTask {
JSONObject jobject;
ServerInterface server = new ServerInterface();
@Override
protected Boolean doInBackground(String... params) {
try {
jobject = server.runScriptObject(script_name, null);
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
@Override
protected void onPostExecute(final Boolean success) {
if (success) {
if (jobject != null){
if (parseJSON(jobject)){
isEmpty = false;
setContentMuro();
}
else{
isEmpty = true;
}
}
else{
isEmpty = true;
}
}else{
Toast.makeText(getActivity(),R.string.failed_connection, Toast.LENGTH_SHORT).show();
return;
}
}
}
【问题讨论】:
-
你能添加一些代码吗?
-
您是否在所有片段中为 AsyncTask 使用相同的上下文? (不是 ApplicationContext)
-
是的,我没有直接传递它们在同一活动中的片段页面中的上下文
标签: android android-layout android-asynctask