如何在自定义对话框中有条件地显示某些组件?

时间:2013-08-08 10:31:57

标签: android xamarin.android

我需要创建一个自定义对话框,所以我这样做:

    private void ShowSetOptions(Activity context, UserOptions userOptions)
    {
        var dialog = new Dialog(context);
        dialog.SetContentView(Resource.Layout.view_set_unset_buttons);
    }

布局

view_set_unset_buttons

基本上是用户可以按下的按钮列表。

问题是,根据userOptions的值,我不想显示view_set_unset_buttons中的所有按钮。

我有没有办法将逻辑应用于view_set_unset_buttons的创建,以便隐藏一些按钮?

SOLUTION:

解决方案是实现我自己的对话框,如下面的答案所示:How to create a Custom Dialog box in android?

2 个答案:

答案 0 :(得分:0)

根据我的经验,资源是静态编译的,因此一旦运行程序,我认为它们不可修改。为什么不以编程方式添加按钮?您没有在R文件中指定,为什么不动态创建ListView对象并将其添加到对话框中?您可以使用setAdapter功能添加所需的动态数据。

答案 1 :(得分:0)

您应该使用自定义布局实现自己的Dialog,然后在显示对话框之前以编程方式定义布局。那将是最好的做法。欢呼声。