Android 异步任务进度对话框未出现在某些片段中
我有一些片段,它们都使用非常简单的异步任务,这些任务大部分看起来都一样,并且是从同一个基本任务派生的。 在大多数情况下,我看到进度对话框在执行时会旋转,但在其中一个对话框中,尽管任务已正确执行,但它不会出现 为什么??我使用的默认设置仅覆盖doInBackground和onPostExecute 这可能是因为裁员,但在我的情况下,他们是相似的吗 这是导致问题的asynctask的代码带有和不带进度对话框的两个任务都是同一任务类的子任务Android 异步任务进度对话框未出现在某些片段中,android,android-layout,android-asynctask,Android,Android Layout,Android Asynctask,我有一些片段,它们都使用非常简单的异步任务,这些任务大部分看起来都一样,并且是从同一个基本任务派生的。 在大多数情况下,我看到进度对话框在执行时会旋转,但在其中一个对话框中,尽管任务已正确执行,但它不会出现 为什么??我使用的默认设置仅覆盖doInBackground和onPostExecute 这可能是因为裁员,但在我的情况下,他们是相似的吗 这是导致问题的asynctask的代码带有和不带进度对话框的两个任务都是同一任务类的子任务 /** * AsyncTask che richie
/**
* 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;
}
}
}
您必须使用getActivity作为片段中任务进度对话框的上下文。因此我在我使用的片段类中修复了它
@Override
public View onCreateView(LayoutInflater inf, ViewGroup container, Bundle b){
frag_view = inf.inflate(R.layout.list_with_margins, container, false);
return frag_view;
}
我删除了这个部分,因为它不再需要了,加载对话框出现了
我不知道为什么膨胀我自己的视图会隐藏进度对话框你能添加一些代码吗?你在异步任务的所有片段中使用相同的上下文吗?不是应用程序上下文是的,我没有直接传递上下文,它们在同一活动中的碎片寻呼机中。我使用的是标准进度对话框,我没有编写一行代码让它在其他碎片中显示。您在asyntask中没有提到onPreExecute,它通常有代码显示进度。如果没有它,你将无法看到进度对话框。我没有覆盖onPreExecute。顺便说一句,请阅读我的答案,谢谢你的回答。好的,但是我发布了整个课程,没有onPreExecute