Android 异步任务进度对话框未出现在某些片段中

Android 异步任务进度对话框未出现在某些片段中,android,android-layout,android-asynctask,Android,Android Layout,Android Asynctask,我有一些片段,它们都使用非常简单的异步任务,这些任务大部分看起来都一样,并且是从同一个基本任务派生的。 在大多数情况下,我看到进度对话框在执行时会旋转,但在其中一个对话框中,尽管任务已正确执行,但它不会出现 为什么??我使用的默认设置仅覆盖doInBackground和onPostExecute 这可能是因为裁员,但在我的情况下,他们是相似的吗 这是导致问题的asynctask的代码带有和不带进度对话框的两个任务都是同一任务类的子任务 /** * AsyncTask che richie

我有一些片段,它们都使用非常简单的异步任务,这些任务大部分看起来都一样,并且是从同一个基本任务派生的。 在大多数情况下,我看到进度对话框在执行时会旋转,但在其中一个对话框中,尽管任务已正确执行,但它不会出现

为什么??我使用的默认设置仅覆盖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;
    }


        }

}

您必须使用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