我正在将我的Android应用程序转换为使用片段。以前,我有一个活动,现在是一个片段。因此,不能再使用此代码:
showDialog(CONFIRM_ID);
// ...
@Override
public Dialog onCreateDialog(int id) {
// Create the confirmation dialog...
}
在Fragment
对象中,我需要显示一个确认对话框,确认后会将我返回到对象进行状态更新。
E.g。
我怎样才能做到这一点?请提供工作示例代码。
答案 0 :(得分:9)
您可以使用如下所示的代码创建对话框(AlertDialog):http://developer.android.com/guide/topics/ui/dialogs.html#AlertDialog
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
MyActivity.this.finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
如果您需要使用不立即关闭对话框的按钮创建对话框,您可以在此处查看我的答案:How to prevent a dialog from closing when a button is clicked
答案 1 :(得分:0)
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Your Title");
builder.setMessage("Your Dialog Message");
builder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//TODO
dialog.dismiss();
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//TODO
dialog.dismiss();
}
});
AlertDialog dialog = builder.create();
dialog.show();