关注代码:
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;
...
关注图片:
第一行是隐藏&#34;按钮1&#34;我有50多个按钮。我不想复制这整行并做多达50次,这非常累人。有没有办法使用foreach
循环或隐藏所有这些按钮?
是否可以使用foreach隐藏按钮1到50?
答案 0 :(得分:1)
滚动视图中没有50个按钮,请在列表视图中放置Listview和放置按钮。 (请参阅使用scrollview和按钮解决的答案结尾)
创建模型类Button:
in
在您的活动中,创建此类的列表。 List buttonList = new List();
然后为列表创建自定义适配器并将此列表设置为ListView的源。
完成后,只需更新列表中的对象即可。在基于布尔值的适配器中,只显示/隐藏按钮
这样可以很容易地以任意组合启用或禁用按钮。否则你的代码会搞砸。
但是,如果您仍想要Scrollview和fifity按钮, 然后在活动中迭代滚动视图,就像这样。
我假设你在LinearLayout中有滚动视图,我将LinearLayout作为滚动视图所在的方法参数传递:
public class Button{
public bool isVisible;
}