Android 当按下按钮时,ProgressDialog将被取消
我有一个“请等待”Android 当按下按钮时,ProgressDialog将被取消,android,Android,我有一个“请等待”ProgressDialog,其中包含一个按钮,问题是当单击按钮时,对话框被取消(它消失),如何使对话框保持在屏幕上 // Please wait dialog private void showWaitDialog() { prgDialg = new ProgressDialog(context); prgDialg.setTitle("Working..."); prgDialg.setMessage("Please wait.");
ProgressDialog
,其中包含一个按钮,问题是当单击按钮时,对话框被取消(它消失),如何使对话框保持在屏幕上
// Please wait dialog
private void showWaitDialog() {
prgDialg = new ProgressDialog(context);
prgDialg.setTitle("Working...");
prgDialg.setMessage("Please wait.");
prgDialg.setCancelable(false);
prgDialg.setButton("Do something", myListener);
prgDialg.show();
}
// Click listener
public OnClickListener myListener = new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
textViev1.setText("xxx");
}
试试这个
prgDialg.setButton("Do something", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
// Use either finish() or return() to either close the activity or just the dialog
return;
}
});
prgDialg.setButton(“做点什么”,myListener);
不推荐使用上述方法setButton(CharSequence text,DialogInterface.OnClickListener listener)
你可以用
private void showWaitDialog() {
prgDialg = new ProgressDialog(this);
prgDialg.setTitle("Working...");
prgDialg.setMessage("Please wait.");
prgDialg.setCancelable(false);
prgDialg.setButton(DialogInterface.BUTTON_NEUTRAL, "Do something", this);
prgDialg.show();
}
@Override
public void cancel() {
}
@Override
public void dismiss() {
}
为什么需要一个正在进行的按钮对话框?根据定义,如果在对话框上使用内置按钮,它将关闭对话框。如果您想与对话框进行更多的交互,您需要在其中添加一个视图,其中包含您想要的按钮等。@NareshR例如,一个取消按钮。@NareshR的可能副本不是true,您可以轻松地使用带有
setButton
的ProgressDialog
来创建一个取消按钮。但是,在呈现ProgressDialog
之后,需要设置onClickListener
。我没有可用的setNeutralButton
。这是从哪里得到的?当单击按钮时,仍然会关闭ProgressDialog
。不幸的是,无论您在onClickListener
中放置了什么,都无法使用此方法阻止ProgressDialog
关闭。在显示ProgressDialog
之后,您需要设置onClickListener
。@JoshPinter,这实际上帮助了我。谢谢你,当然可以。请查看以下答案以获取示例:
private void showWaitDialog() {
prgDialg = new ProgressDialog(context);
prgDialg.setTitle("Working...");
prgDialg.setMessage("Please wait.");
prgDialg.setCancelable(false);
prgDialg.setNeutralButton("Do Something", new View.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
textViev1.setText("xxx");
}
});
prgDialg.show();
}