我有这个简单的代码:
AlertDialog dialog = new AlertDialog.Builder(this).create();
dialog.setTitle ("Alert title");
dialog.setMessage ("This is an alert");
dialog.show();
显示对话框但我的Activity没有收到任何回调。没有onPrepareDialog,没什么。
我可以以某种方式挂钩AlertDialog而不实现扩展AlertDialog的自定义类吗?
感谢。
答案 0 :(得分:1)
AlertDialog dialog;
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Alert title").setMessage("This is an alert");
builder.setPositiveButton("Ok", new Dialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
dialog = builder.create();
dialog.show();
答案 1 :(得分:0)
onPrepareDialog
仅针对由Activity管理的对话框调用(即,使用Activity.onCreateDialog(int)
创建并通过Activity.showDialog(int)
显示的对话框)。由于您是直接创建和显示对话框,因此不会调用这些方法。
有关托管对话框的详细信息,请参阅Creating Dialogs。
要响应使用输入 - 例如按钮点击 - 您将需要使用alezhka答案所示的构建器方法。
答案 2 :(得分:0)
AlertDialog alertDialog;
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("your message");
builder.setTitle("Alert message");
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
alertDialog = builder.create();
alertDialog.show();