我有一个 android 应用程序,我在其中隐藏并在页面上显示不同的自定义项。有没有办法遍历页面上设置为 view.gone 的所有项目,或者我是否必须为每个 ID 做一个 if?
非常感谢
要查找隐藏视图,您可以执行以下操作:
LinearLayout parentLayout = (LinearLayout) findViewById(R.id.parent_layout);
int childViews = parentLayout.getChildCount();
List<View> hiddenViews = new ArrayList<View>();
for (int i = 0; i < childViews; i++) {
View v = parentLayout.getChildAt(i);
if (v.getVisibility() == View.GONE) {
hiddenViews.add(v);
}
}
在此示例中,List<View> hiddenViews
将包含可见性为 的所有视图View.GONE
。
当您将它们的可见性设置为GONE
时,同时将它们添加到预定义arraylist
的 ,这样您将始终拥有不可见视图的记录。
In OnCreate:
hiddenViews = new ArrayList<View>();
在设置其可见性时:
view.setVisibility(View.GONE);
hiddenViews.add(view);
现在,您可以hiddenViews
在activity
.