我有一些片段,他們都使用非常簡單的asynctasks,他們大多看起來像是一樣的,都是從相同的基礎任務派生而來的。 在他們中的大多數中,我會看到進度對話框的旋轉,但它們在執行時卻沒有出現,儘管任務執行正確。AsyncTask進度對話框沒有出現在某些片段中
爲什麼?我使用默認設置,只覆蓋doInBackground和onPostExecute。
難道是通過佈局的原因(但對我來說,他們是相似的?
這是的AsyncTask造成問題的原因(有和沒有進度對話框這兩個任務的代碼是相同的任務類的子)
/**
* 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;
}
}
}
你可以添加一些代碼嗎? – 2013-08-28 11:04:53
您是否在AsyncTask的所有片段中使用相同的上下文? (不是ApplicationContext) – Yoric
是的,我沒有直接傳遞他們在同一活動中的fragmentpager中的上下文 – codareee