Android. 如何正确创建DialogFragment?
创始人
2024-08-20 00:00:34
0

要正确创建一个DialogFragment,你可以按照以下步骤进行操作:

  1. 创建一个继承自DialogFragment的子类,例如MyDialogFragment。
public class MyDialogFragment extends DialogFragment {

    @NonNull
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setTitle("Dialog Title")
                .setMessage("Dialog Message")
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // 处理点击OK按钮的逻辑
                    }
                })
                .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // 处理点击Cancel按钮的逻辑
                    }
                });
        return builder.create();
    }
}
  1. 在需要显示DialogFragment的地方,使用FragmentManager创建并显示DialogFragment。
MyDialogFragment dialogFragment = new MyDialogFragment();
dialogFragment.show(getSupportFragmentManager(), "dialogFragmentTag");
  1. 如果需要在DialogFragment内部获取对话框的View组件,可以在onCreateDialog方法中使用LayoutInflater来自定义对话框的布局。
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    LayoutInflater inflater = requireActivity().getLayoutInflater();
    View dialogView = inflater.inflate(R.layout.dialog_layout, null);

    // 在dialogView中查找和设置视图组件

    builder.setView(dialogView)
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // 处理点击OK按钮的逻辑
                }
            })
            .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // 处理点击Cancel按钮的逻辑
                }
            });
    return builder.create();
}

以上就是正确创建DialogFragment的步骤和代码示例。

相关内容

热门资讯

技巧知识分享!海米大厅辅助,a... 技巧知识分享!海米大厅辅助,aapoker怎么拿好牌,2025新版总结(详细教程);海米大厅辅助软件...
必备教程!福建天天开心辅助工具... 您好,福建天天开心辅助工具下载这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很...
盘点一款!微信小程序全能修改器... 【福星临门,好运相随】;盘点一款!微信小程序全能修改器,wepoker辅助透视软件,安装教程(有挂头...
盘点几款!盛世2私人辅助,we... 盘点几款!盛世2私人辅助,wepoker透视脚本是什么,揭秘教程(有挂教学)是一款可以让一直输的玩家...
揭秘几款!小程序河北微乐脚本,... 您好,小程序河北微乐脚本这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家...
玩家交流!情怀透明器看手机纸牌... 您好,情怀透明器看手机纸牌这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...
盘点一款!福建天天开心辅助工具... 盘点一款!福建天天开心辅助工具,wepoker辅助器下载,解密教程(有挂助手);福建天天开心辅助工具...
一分钟了解!潮汕鱼虾蟹app源... 一分钟了解!潮汕鱼虾蟹app源码,购买的wpk辅助在哪里下载,扑克教程(有挂攻略)是一款可以让一直输...
玩家攻略!微乐小程序授权,德普... 玩家攻略!微乐小程序授权,德普之星辅助工具如何设置,力荐教程(有挂存在)相信很多朋友都在电脑上玩过微...
分享个大家!丽水都莱大菠萝辅助... 分享个大家!丽水都莱大菠萝辅助,wepoker透视脚本免费app,必备教程(有挂技巧);1、构建自己...