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;
}
}