android MessageBox因为完成调用而没有显示,如何让这个函数等待ok然后关闭
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(); }
应该是这样的
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(); }
解决方法
见问题:
AlertDialog doesn’t wait for input
当用户在AlertDialog上单击“确定”时,您将必须实现回调(OnClickListener).
这一切都是因为Android对话框不是模态的(非阻塞调用程序线程)
dlgalert.setPositiveButton("OK",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int whichButton) { // call your code here } });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。