我已经创建了android应用程序。在这个程序中我正在使用进度条。我将进度条的代码放在xml布局中。我的问题是,当我点击按钮后,只加载了progreessbar,但它会在点击按钮之前显示..请告诉一些想法..谢谢提前..
答案 0 :(得分:2)
为ProgressBar元素设置android:visibility和android:id属性。
android:visibility="gone" android:id="@+id/your_prg_bar_id"
对于按钮,单击添加属性。机器人:的onClick
android:onClick="showProgressBar"
在您的活动中编写方法showProgressBar以显示progressBar。
public void showProgressBar(View source){
progressBar = (ProgressBar) findViewById(R.id.your_prg_bar_id);
progressBar.setVisibility(View.VISIBLE);
}
答案 1 :(得分:1)
试试这个:: AsyncTask可以正确,方便地使用UI线程。该类允许执行后台操作并在UI线程上发布结果,而无需操纵线程和/或处理程序。
异步任务由在后台线程上运行的计算定义,其结果在UI线程上发布。异步任务由3种泛型类型定义,称为Params,Progress和Result,以及4个步骤,称为onPreExecute,doInBackground,onProgressUpdate和onPostExecute
private class xyz extends AsyncTask<Void, Void, Void> {
private final ProgressDialog dialog = new ProgressDialog(tranning.this);
protected void onPreExecute() {
this.dialog.setMessage("Please Wait...");
this.dialog.show();
// put your code which preload with processDialog
@Override
protected Void doInBackground(Void... arg0) {
// put your code here
return null;
}
@Override
protected void onPostExecute(final Void unused) {
if (this.dialog.isShowing()) {
this.dialog.dismiss();
}
}
}
并在按钮点击事件::
中使用此功能 new xyz().execute();