Android 如何在不使用线程和处理程序的情况下使用progressbar?

Android 如何在不使用线程和处理程序的情况下使用progressbar?,android,Android,如何在不使用线程和处理程序的情况下使用Progressbar? 我使用了以下代码,但这不起作用 ProgressDialog prd=new ProgressDialog(this); prd.setTitle("Please Wait........"); prd.show(); ProgressDialog prd=新建ProgressDialog(本); prd.setTitle(“请稍候……”); 珠三角show(); “进度”对话框始终用于在显示“进度”对话框时显示正在进行的后台任务。

如何在不使用线程和处理程序的情况下使用Progressbar? 我使用了以下代码,但这不起作用

ProgressDialog prd=new ProgressDialog(this); prd.setTitle("Please Wait........"); prd.show(); ProgressDialog prd=新建ProgressDialog(本); prd.setTitle(“请稍候……”); 珠三角show();
“进度”对话框始终用于在显示“进度”对话框时显示正在进行的后台任务。没有这一点,就没有进展对话框的目的

但是,您可以使用AsyncTask类替代线程和处理程序来显示android中的进度对话框


有关异步任务类,请参阅

进度条和进度对话框不同

您还可以通过xml创建进度条。请参阅下面的代码以创建进度条

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/FIL_Main_RelativeLayout"
    android:background="#ffffff">
    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        style="@android:style/Widget.ProgressBar.Inverse"
        android:id="@+id/FIL_Middle_ProgressBar"></ProgressBar>
        </RelativeLayout>

谢谢 Deepak

私有类SomeTask扩展了AsyncTask{
private ProgressDialog=新建ProgressDialog(SomeActivity.this);
@凌驾
受保护的void onPreExecute(){
this.dialog.setMessage(getResources().getString(R.string.someMessage));
this.dialog.show();
}
@凌驾
受保护列表doInBackground(对象…对象){
....
试一试{
//这里有些逻辑
}捕获(例外e){
e、 printStackTrace();
如果(this.dialog.isShowing())this.dialog.discouse();
}
退货清单;
}
@凌驾
受保护的void onPostExecute(对象结果){
如果(this.dialog.isShowing())this.dialog.discouse();
}

}

你不工作是什么意思?请说得更具体一些。当你想在一段时间后隐藏它时,你可以将可见性设置为GONE:);progressBar.setVisibility(View.GONE);
private class SomeTask extends AsyncTask {
private ProgressDialog dialog = new ProgressDialog(SomeActivity.this);

@Override
protected void onPreExecute() {
    this.dialog.setMessage(getResources().getString(R.string.someMessage));
    this.dialog.show();
}


@Override
protected List<Object> doInBackground(Object... objects) {
                ....
                try {
                // some logic here
            } catch (Exception e) {
                e.printStackTrace();
                if (this.dialog.isShowing()) this.dialog.dismiss();
            }

    return list;
}

@Override
protected void onPostExecute(Object result) {
    if (this.dialog.isShowing()) this.dialog.dismiss();
}