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的步骤和代码示例。

相关内容

热门资讯

推荐十款!大咖娱乐透视挂功能工... 推荐十款!大咖娱乐透视挂功能工具,大咖娱乐一贯是有透视挂工具(有辅助挂规律);大咖娱乐脚本下载中分为...
一分钟了解!辰鸿透视挂功能教程... 一分钟了解!辰鸿透视挂功能教程,辰鸿好像存在有透视挂教程(有辅助挂详情)1、下载好辰鸿脚本下载之后点...
科技揭秘!153棋牌透视挂功能... 科技揭秘!153棋牌透视挂功能软件,153棋牌真是是真的有透视挂软件(有辅助挂分析)1、科技揭秘!1...
免费测试版!来旺十三水辅助功能... 免费测试版!来旺十三水辅助功能神器,来旺十三水本来是真的有辅助神器(有辅助挂秘籍)1、全新机制【来旺...
最新通报!微乐三打一透视功能a... 最新通报!微乐三打一透视功能app,微乐三打一一贯存在有透视app(有辅助挂分享)一、微乐三打一可以...
教程辅助!江山大厅辅助功能教程... 教程辅助!江山大厅辅助功能教程,江山大厅切实是有辅助教程(有辅助挂猫腻)1、江山大厅模拟器是什么优化...
专业讨论!永乐跑胡子辅助功能脚... 专业讨论!永乐跑胡子辅助功能脚本,永乐跑胡子原来存在有辅助脚本(有辅助挂实锤)1、永乐跑胡子透视辅助...
我来向大家传授!微友约局开挂功... 我来向大家传授!微友约局开挂功能教程,微友约局总是有开挂教程(真实有辅助挂)1、我来向大家传授!微友...
一分钟教你!宝宝浙江麻将透视功... 一分钟教你!宝宝浙江麻将透视功能插件,宝宝浙江麻将确实存在有透视插件(真的有辅助挂)暗藏猫腻,小编详...
今日头条!开云棋牌透视挂功能插... 今日头条!开云棋牌透视挂功能插件,开云棋牌真是真的有透视挂插件(有辅助挂实锤)1、操作简单,无需开云...