首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在进程对话框中设置取消按钮?

如何在进程对话框中设置取消按钮?
EN

Stack Overflow用户
提问于 2011-08-12 16:25:59
回答 2查看 59.7K关注 0票数 64

我想在我的ProgressDialog中设置一个取消按钮。下面是我的代码:

代码语言:javascript
复制
myDialog = new ProgressDialog(BaseScreen.this);
myDialog.setMessage("Loading...");
myDialog.setCancelable(false);
myDialog.show();

我想在这个ProgressDialog上设置一个带有onClickListener的按钮。我尝试使用以下代码:

代码语言:javascript
复制
myDialog.setButton("Cancel", new OnClickListener() {        
    @Override
    public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub          
        myDialog.dismiss();
    }
});

但它不起作用。我也尝试了其他类似的听众,但仍然没有成功。我该如何解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2011-08-12 16:32:03

确保在调用myDialog.show();之前调用myDialog.setButton

此外,如果您只需要在单击按钮时关闭对话框,则可以使用myDialog.setButton("Cancel", (DialogInterface.OnClickListener) null);

票数 17
EN

Stack Overflow用户

发布于 2011-08-12 16:42:13

看看这个

代码语言:javascript
复制
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();
}

然后只需在活动中的其他地方使用一个简单的调用方法

代码语言:javascript
复制
createCancelProgressDialog("Loading", "Please wait while activity is loading", "Cancel");
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7037433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档