Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android studio中显示和隐藏对话框_Java_Android_Android Asynctask - Fatal编程技术网

Java 在android studio中显示和隐藏对话框

Java 在android studio中显示和隐藏对话框,java,android,android-asynctask,Java,Android,Android Asynctask,我的对话框没有显示在异步任务中。 下面的代码是我的任务 private class AsyncCallListWS extends AsyncTask<Void, Void, Void> { @Override protected void onPreExecute() { Log.i(TAG, "--------------------------------------------------"); Log.i(TAG, "pending

我的对话框没有显示在异步任务中。 下面的代码是我的任务

private class AsyncCallListWS extends AsyncTask<Void, Void, Void> {
@Override
    protected void onPreExecute() {
        Log.i(TAG, "--------------------------------------------------");
        Log.i(TAG, "pending ws: onPreExecute");
        showLoadingDialog();
    }

    @Override
    protected Void doInBackground(Void... params) {
        Log.i(TAG, "pending ws: doInBackground");
        //listDataParent = new ArrayList<Tn_Parent>();
        listPending();
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        Log.i(TAG, "Call pending ws: onPostExecute");
        dismissLoadingDialog();

        //Log.i(TAG, "I am not up there "+status.toString());
        if(getContext()!=null) {
            //adapter = new Tn_ListViewAdapter(getActivity(), newList, selectAll);
            //listView.setAdapter(adapter);

            lvAdapter = new Tn_ListViewAdapter(getActivity(), lvList, selectAll);
            listView.setAdapter(lvAdapter);
            // .............. below is not needed .....................
            //listAdapter = new Tn_ExpandableAdapter(listDataParent,getContext(), selectAll);
            //expListView.setAdapter(listAdapter);
        }
    }
}

我真的很想知道有什么问题。当我将showLoadingDialog()放在onCreateView()中时,会显示该对话框,但问题是,如果我将其放在onCreateView()中,该对话框将不会消失。请提供帮助。

因为Preetika Kaur建议您应该将
上下文
对象传递给您
showLoadingDialog()
并调用
bar=new ProgressDialog(yourContextObject)
原因否则,对于中的问题,如果创建,请尝试更改

public void dismissLoadingDialog() {
  if (bar != null && bar.isShowing()) {
      bar.dismiss();
  }
}


AsynTask中不显示对话框的问题可能是您的if(bar==null){条件,因为此时您的bar对象将不会为null。因此,在解除对话框时,您必须将其初始化为null。请编写bar.show();如果(…)
条件中的这行代码。

bar=newprogressdialog(getActivity());此处获取上下文对象并将其传递到函数中,当您在异步传递中调用它时,请搜索上下文方法以隐藏/显示进度条,而不是询问问题。您将获得代码片段easily@HoeLuen当然,我们将等待您的反馈
public void dismissLoadingDialog() {
  if (bar != null && bar.isShowing()) {
      bar.dismiss();
  }
}
public void dismissLoadingDialog() {
  if (bar != null) {
      bar.dismiss();
      bar = null;
  }
}