Android xamarin中的空对话框片段

Android xamarin中的空对话框片段,android,xamarin,android-dialogfragment,layout-inflater,Android,Xamarin,Android Dialogfragment,Layout Inflater,我试图在LoginScreen活动上弹出一个对话框片段,单击一个包含注册表表单的按钮 我很确定对话框正在打开,但我无法正确地将其充气 当为对话框片段单击一个按钮时,会出现一些东西,但它完全是空的,我希望看到我为注册表表单创建的布局 我仔细阅读了代码,似乎没有发现问题 这是我的对话框片段 class dialog_fragment:DialogFragment { private Button btn; public override View OnCreateView(Layou

我试图在LoginScreen活动上弹出一个对话框片段,单击一个包含注册表表单的按钮

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

当为
对话框片段
单击一个按钮时,会出现一些东西,但它完全是空的,我希望看到我为注册表表单创建的布局

我仔细阅读了代码,似乎没有发现问题

这是我的
对话框片段

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;
    }
}

这个解决方案可能非常愚蠢,提前感谢Vaibhav,正如您所期待的,这个解决方案是愚蠢的,但这种情况发生了

有一个对话框片段应该返回一个对话框,但遗憾的是,在dialogfragment类中有两个返回

你的解决方案在这里

难怪它不会在
base.OnCreateView(充气机、容器、savedInstanceState)上返回任何内容

您从未遇到过line
var view=inflater.Inflate(Resource.Layout.Register,container,false)

base.OnCreateView()之前删除返回

class dialog\u片段:DialogFragment
{
专用按钮btn;
创建视图上的公共覆盖视图(布局、充气机、视图组容器、捆绑包保存状态)
{
//返回
base.OnCreateView(充气机、容器、保存状态);
var视图=充气机。充气(Resource.Layout.Register,container,false);
btn=view.findviewbyd(Resource.Id.btnRegister);
点击+=委托
{
Toast.MakeText(this.Activity,“something”,ToastLength.Long).Show();
};
返回视图;
}
}

您在哪里显示dialogfragment?谢谢Akshay,我倾向于跳过诸如return之类的关键字,这太傻了。谢谢你注意到这个。
        btnRegister.Click += delegate
        {
            FragmentTransaction ft = FragmentManager.BeginTransaction();
            dialog_fragment signup = new dialog_fragment();
            signup.Show(ft,"dialog signup");
        };
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;
}
}