为什么progressdialoge
没有显示递增的进度?
我在下面的代码中遗漏了什么?
Java_Code:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_progress_dialoge_test00);
mProgreeDialoge = new ProgressDialog(this);
mHandler = new Handler();
}
public void open(View view) {
mProgreeDialoge.setTitle("Progress Dialoge Box");
mProgreeDialoge.setMessage("Downloading...");
mProgreeDialoge.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mProgreeDialoge.setProgress(0);
mProgreeDialoge.setMax(20);
mProgreeDialoge.setIndeterminate(true);
mProgreeDialoge.show();
final Thread mThread = new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while (mProgreeDialoge.getProgress() <= mProgreeDialoge.getMax() ) {
try {
Thread.sleep(2000);
mHandler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
mProgreeDialoge.incrementProgressBy(2);
}
});
if (mProgreeDialoge.getProgress() == mProgreeDialoge.getMax() ) {
mProgreeDialoge.dismiss();
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
mThread.start();
答案 0 :(得分:0)
只需对代码进行一处小改动即可。删除此行mProgreeDialoge.setIndeterminate(true)
或将其设置为false。
答案 1 :(得分:0)
默认模式ProgressDialoge是不确定的。它表示它显示循环动画。当您没有明确指示何时完成特定任务时,此模式非常有用。我认为,这就是没有显示增量进展的原因。
here您将找到progressdialog
方法和常量
在您的情况下,请尝试:mProgreeDialoge.setIndeterminate(false);