xamarin 中的空对话片段

Empty dialogfragment in xamarin

我正在尝试在 loginscreenactivity onclick 具有注册表单的按钮上弹出一个对话框片段。

我很确定对话框正在打开,但我无法正确充气。

当为 DialogFragment 单击按钮时,会出现一些东西,但它完全是空白的,其中我期待我为注册表单创建的布局。

仔细看了代码,好像没发现问题

这是我的DialogFragment

class dialog_fragment:DialogFragment
{
    private Button btn;
    public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        return base.OnCreateView(inflater, container, savedInstanceState);

        var view = inflater.Inflate(Resource.Layout.Register, container, false);

        btn = view.FindViewById<Button>(Resource.Id.btnRegister);
        btn.Click += delegate 
        {
            Toast.MakeText(this.Activity, "something", ToastLength.Long).Show();
        };
        return view;
    }
}

这包括我显示对话框的地方

        btnRegister.Click += delegate
        {
            FragmentTransaction ft = FragmentManager.BeginTransaction();
            dialog_fragment signup = new dialog_fragment();
            signup.Show(ft,"dialog signup");
        };

解决方案可能非常愚蠢,在此先感谢

Vaibhav,如您所料,解决方案很愚蠢,但这种情况确实发生了。

你有对话片段应该 return 一个对话,但遗憾的是在对话片段 class.

中有两个 return

您的解决方案在这里。

难怪它不会 return base.OnCreateView(inflater, container, savedInstanceState);

上的任何内容

你永远不会遇到线 var view = inflater.Inflate(Resource.Layout.Register, container, false);

删除base.OnCreateView()

之前的return
class dialog_fragment:DialogFragment
{
private Button btn;
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    //return
    base.OnCreateView(inflater, container, savedInstanceState);

    var view = inflater.Inflate(Resource.Layout.Register, container, false);

    btn = view.FindViewById<Button>(Resource.Id.btnRegister);
    btn.Click += delegate 
    {
        Toast.MakeText(this.Activity, "something", ToastLength.Long).Show();
    };
    return view;
}
}