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();
}
Run Code Online (Sandbox Code Playgroud)
应该是这样的
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();
}
Run Code Online (Sandbox Code Playgroud)
看到SO问题:AlertDialog不等待输入
当用户在AlertDialog上单击"确定"时,您将必须实现回调(OnClickListener).
这一切都是因为Android对话框不是模态的(非阻塞调用程序线程)
dlgAlert.setPositiveButton("OK",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// call your code here
}
});
Run Code Online (Sandbox Code Playgroud)
如果你想在android编程中创建一个对话框(消息框,在c#,vb.net等中命名),那么只需复制此代码并将其粘贴到您需要的任何按钮的单击事件中.
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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44543 次 |
| 最近记录: |