如何使用foreach隐藏所有按钮?

时间:2018-03-25 03:22:26

标签: c# android xamarin.android

关注代码:

FindViewById<Button>(Resource.Id.Button_1).Visibility = ViewStates.Gone;
FindViewById<Button>(Resource.Id.Button_2).Visibility = ViewStates.Gone;
FindViewById<Button>(Resource.Id.Button_3).Visibility = ViewStates.Gone;
...

关注图片:

enter image description here

第一行是隐藏&#34;按钮1&#34;我有50多个按钮。我不想复制这整行并做多达50次,这非常累人。有没有办法使用foreach循环或隐藏所有这些按钮?

是否可以使用foreach隐藏按钮1到50?

1 个答案:

答案 0 :(得分:1)

滚动视图中没有50个按钮,请在列表视图中放置Listview和放置按钮。 (请参阅使用scrollview和按钮解决的答案结尾)

创建模型类Button:

in

在您的活动中,创建此类的列表。 List buttonList = new List();

然后为列表创建自定义适配器并将此列表设置为ListView的源。

完成后,只需更新列表中的对象即可。在基于布尔值的适配器中,只显示/隐藏按钮

这样可以很容易地以任意组合启用或禁用按钮。否则你的代码会搞砸。

但是,如果您仍想要Scrollview和fifity按钮, 然后在活动中迭代滚动视图,就像这样。

我假设你在LinearLayout中有滚动视图,我将LinearLayout作为滚动视图所在的方法参数传递:

public class Button{

public bool isVisible;
}