Java 如何在processbar对话框关闭后显示警报对话框?
我想在processbar对话框解除后显示警报对话框(在listview上单击以显示processbar): 这是我的代码显示过程栏对话框:Java 如何在processbar对话框关闭后显示警报对话框?,java,android,Java,Android,我想在processbar对话框解除后显示警报对话框(在listview上单击以显示processbar): 这是我的代码显示过程栏对话框: ProgressDialog barProgressDialog; Handler updateBarHandler; public void launchBarDialog(View view) { barProgressDialog = new ProgressDialog(MainActivity.this); barProgre
ProgressDialog barProgressDialog;
Handler updateBarHandler;
public void launchBarDialog(View view)
{
barProgressDialog = new ProgressDialog(MainActivity.this);
barProgressDialog.setTitle("Processing,please wait ...");
barProgressDialog.setMessage("Cracking password in progress ...");
barProgressDialog.setProgressStyle(barProgressDialog.STYLE_HORIZONTAL);
barProgressDialog.setProgress(0);
barProgressDialog.setMax(10);
barProgressDialog.show();
new Thread(new Runnable() {
@Override
public void run() {
try {
// Here you should write your time consuming task...
while (barProgressDialog.getProgress() <= barProgressDialog.getMax()) {
Thread.sleep(1000);
updateBarHandler.post(new Runnable() {
public void run() {
barProgressDialog.incrementProgressBy(2);
}
});
if (barProgressDialog.getProgress() == barProgressDialog.getMax()) {
barProgressDialog.dismiss();
}
}
} catch (Exception e) {
}
}
}).start();
}
ProgressDialog barProgressDialog;
处理程序updateBarHandler;
公共void启动对话框(视图)
{
barProgressDialog=新建ProgressDialog(MainActivity.this);
setTitle(“正在处理,请稍候…”);
setMessage(“正在破解密码…”);
barProgressDialog.setProgressStyle(barProgressDialog.STYLE_水平);
barProgressDialog.setProgress(0);
barProgressDialog.setMax(10);
barProgressDialog.show();
新线程(newrunnable()){
@凌驾
公开募捐{
试一试{
//在这里你应该写下你耗时的任务。。。
while(barProgressDialog.getProgress()您需要在方法setOnDismissListener(DialogInterface.OnDismissListener listener)上实现接口DialogInterface.OnDismissListener:AlertDialog。它将帮助您完成所需操作。下面的代码将帮助您完成所需操作
ProgressDialog barProgressDialog;
Handler updateBarHandler;
public void launchBarDialog(View view) {
updateBarHandler = new Handler();
barProgressDialog = new ProgressDialog(MainActivity.this);
barProgressDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
//Put your AlertDialog Here ....
AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
alert.setMessage("This Alert Dialog will be show after the ProgressDialog dismissed");
alert.show();
}
});
barProgressDialog.setTitle("Processing,please wait ...");
barProgressDialog.setMessage("Cracking password in progress ...");
barProgressDialog.setProgressStyle(barProgressDialog.STYLE_HORIZONTAL);
barProgressDialog.setProgress(0);
barProgressDialog.setMax(10);
barProgressDialog.show();
new Thread(new Runnable() {
@Override
public void run() {
try {
// Here you should write your time consuming task...
while (barProgressDialog.getProgress() <= barProgressDialog
.getMax()) {
Thread.sleep(1000);
updateBarHandler.post(new Runnable() {
public void run() {
barProgressDialog.incrementProgressBy(2);
if (barProgressDialog.getProgress() == barProgressDialog
.getMax()) {
barProgressDialog.dismiss();
}
}
});
}
} catch (Exception e) {
Log.e("thiago", "error when trying to run the Thread==>"+e.getMessage());
}
}
}).start();
}
ProgressDialog barProgressDialog;
处理程序updateBarHandler;
公共void启动对话框(视图){
updateBarHandler=新处理程序();
barProgressDialog=新建ProgressDialog(MainActivity.this);
barProgressDialog.setOnDismissListener(新的DialogInterface.OnDismissListener(){
@凌驾
公共void onDismiss(对话框接口对话框){
//将您的AlertDialog放在这里。。。。
AlertDialog.Builder alert=新建AlertDialog.Builder(MainActivity.this);
alert.setMessage(“此警报对话框将在ProgressDialog解除后显示”);
alert.show();
}
});
setTitle(“正在处理,请稍候…”);
setMessage(“正在破解密码…”);
barProgressDialog.setProgressStyle(barProgressDialog.STYLE_水平);
barProgressDialog.setProgress(0);
barProgressDialog.setMax(10);
barProgressDialog.show();
新线程(newrunnable()){
@凌驾
公开募捐{
试一试{
//在这里你应该写下你耗时的任务。。。
而(barProgressDialog.getProgress()只需放置
updateBarHandler = new Handler();
以下是您需要的完整示例:
u应该使用线程时间,这取决于u…10000等秒。您可以执行与progressbar增量类似的操作。创建一个新的处理程序,在调用时可以创建警报。在关闭progressbar后立即调用此处理程序。请给我一个示例!感谢您使用监听器,这是我认为使用监听器最干净的方式,请给出更多的细节,代码。谢谢你是的,这是最好的答案,我做到了。非常感谢你