6

我正在将我的 Android 应用程序转换为使用片段。以前,我有一个活动,现在是一个片段。因此,无法再使用此代码:

showDialog(CONFIRM_ID);
// ...
@Override
public Dialog onCreateDialog(int id) {
    // Create the confirmation dialog...
}

Fragment对象内部,我需要显示一个确认对话框,确认后将我返回到对象以进行状态更新。

例如

  1. 片段 X 内部。
  2. 显示确认对话框。
  3. 如果“是”更新 X 的 UI。

我怎样才能做到这一点?请提供工作示例代码。

4

2 回答 2

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();

如果您需要使用不会立即关闭对话框本身的按钮创建对话框,您可以在此处查看我的答案:如何防止单击按钮时关闭对话框

于 2012-03-18T21:52:03.207 回答
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();
于 2017-10-23T11:55:01.143 回答