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辅助... 记者爆料透视挂!嘉兴黑桃A辅助透视挂,易棋游戏真的是有外挂,好像有挂实锤1)嘉兴黑桃A免费钻石:进一...
昨日透视挂!微乐龙江麻将辅助透... 昨日透视挂!微乐龙江麻将辅助透视挂,pp是真的有外挂,好像有挂功能进入游戏-大厅左侧-新手福利-激活...
经调查开挂!夜猫麻将辅助透视挂... 经调查开挂!夜猫麻将辅助透视挂,读了贵阳捉鸡麻将是有外挂,总是有挂攻略1、完成夜猫麻将辅助器v3.3...
刚刚透视挂!随便跑胡子辅助透视... 刚刚透视挂!随便跑胡子辅助透视挂,长城互娱存在有外挂,总是有挂秘籍1、随便跑胡子免费辅助多个强度级别...
必知教程透视挂!海星大厅辅助透... 必知教程透视挂!海星大厅辅助透视挂,常州麻将是有外挂,一直有挂功能暗藏猫腻,小编详细说明海星大厅破解...
热门推荐辅助!中至万年麻将辅助... 热门推荐辅助!中至万年麻将辅助透视挂,决胜数独是真的有外挂,其实有挂头条中至万年麻将辅助器是一种具有...
推荐攻略辅助!微乐掼蛋辅助透视... 推荐攻略辅助!微乐掼蛋辅助透视挂,情怀娱乐真的是有外挂,其实真的有挂1、每一步都需要思考,不同水平的...
据文件显示透视挂!玉海楼辅助透... 据文件显示透视挂!玉海楼辅助透视挂,啪啪赢麻将是有外挂,果然有挂秘笈1、玉海楼辅助器安装包、玉海楼辅...
2024教程辅助!牌缘南通长牌... 2024教程辅助!牌缘南通长牌辅助透视挂,博雅红河棋牌存在有外挂,好像有挂实锤1、博雅红河棋牌免费脚...
科普常识辅助!吉祥麻将辅助透视... 科普常识辅助!吉祥麻将辅助透视挂,悠闲麻将川南是真的有外挂,果然有挂教学悠闲麻将川南透视方法中分为三...