首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android Messagebox

android Messagebox
EN

Stack Overflow用户
提问于 2011-09-17 17:17:23
回答 2查看 46.1K关注 0票数 6

由于完成了调用,所以android没有显示,如何让该函数等待ok,然后关闭

代码语言:javascript
复制
public void msbox(String str,String str2)
{
    AlertDialog.Builder dlgAlert  = new AlertDialog.Builder(this);                      
    dlgAlert.setMessage(str2);
    dlgAlert.setTitle(str);              
    dlgAlert.setPositiveButton("OK", null);
    dlgAlert.setCancelable(true);
    dlgAlert.create().show();
    finish(); 
}

应该是这样

代码语言:javascript
复制
public void msbox(String str,String str2)
{
    AlertDialog.Builder dlgAlert  = new AlertDialog.Builder(this);                      
    dlgAlert.setTitle(str); 
    dlgAlert.setMessage(str2); 
    dlgAlert.setPositiveButton("OK",new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
             finish(); 
        }
   });
    dlgAlert.setCancelable(true);
    dlgAlert.create().show();
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-18 09:12:58

见“这样的问题”:AlertDialog doesn't wait for input

当用户单击AlertDialog上的OK时,您将不得不实现回调(AlertDialog)。

这都是因为Android对话框不是模态(非阻塞调用线程)。

代码语言:javascript
复制
dlgAlert.setPositiveButton("OK",new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int whichButton) {
        // call your code here
    }
});
票数 5
EN

Stack Overflow用户

发布于 2012-11-30 03:44:06

如果您想在android编程中创建一个对话框(Message,在c#、vb.net等中命名),那么只需复制这段代码并将其粘贴到任何需要它的按钮的单击事件中即可。

代码语言:javascript
复制
AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder
    .setTitle("Deleting a Contact No")
    .setMessage("Are you sure?")
    .setIcon(android.R.drawable.ic_dialog_alert)
    .setPositiveButton("Yes", new DialogInterface.OnClickListener() 
    {
        public void onClick(DialogInterface dialog, int which) 
        {       
               //do some thing here which you need
    }
    });             
    builder.setNegativeButton("No", new DialogInterface.OnClickListener() 
    {
        public void onClick(DialogInterface dialog, int which) 
        {   
        dialog.dismiss();           
        }
    });         
AlertDialog alert = builder.create();
        alert.show();
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7456509

复制
相关文章

相似问题

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