如何在进度对话框中设置取消button?
我想在ProgressDialog
设置取消button。 以下是我的代码:
myDialog = new ProgressDialog(BaseScreen.this); myDialog.setMessage("Loading..."); myDialog.setCancelable(false); myDialog.show();
我想在这个ProgressDialog
上设置一个onClickListener
button。 我试着用这个代码:
myDialog.setButton("Cancel", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub myDialog.dismiss(); } });
但它不工作。 我也尝试了其他类似的听众,但仍然没有成功。 我怎么解决这个问题?
您正在使用的setButton
方法已被弃用(尽pipe它应该仍然有效)。 另外,您可能希望在显示对话框之前添加button。 尝试:
myDialog = new ProgressDialog(BaseScreen.this); myDialog.setMessage("Loading..."); myDialog.setCancelable(false); myDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); myDialog.show();
确保在调用myDialog.show();
之前调用myDialog.show();
你也可以使用myDialog.setButton("Cancel", (DialogInterface.OnClickListener) null);
如果你只需要closuresbutton点击对话框。
检查这个
private void createCancelProgressDialog(String title, String message, String buttonText) { cancelDialog = new ProgressDialog(this); cancelDialog.setTitle(title); cancelDialog.setMessage(message); cancelDialog.setButton(buttonText, 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; } }); cancelDialog.show(); }
那么只需在您的活动中使用简单的调用方法即可
createCancelProgressDialog("Loading", "Please wait while activity is loading", "Cancel");