我有一个Android应用程序,我隐藏并在页面上显示不同的自定义项目。有没有办法遍历页面上设置为view.gone的所有项目,或者我是否必须为每个ID执行if?
非常感谢
答案 0 :(得分:1)
要查找隐藏的视图,您可以执行以下操作:
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
的观看次数。
答案 1 :(得分:1)
当您将其展示率设置为GONE
时,同时将它们添加到预先设定的arraylist
,这样您就会始终拥有不可见的观看记录。
In OnCreate:
hiddenViews = new ArrayList<View>();
设置可见性时:
view.setVisibility(View.GONE);
hiddenViews.add(view);
现在,您可以在hiddenViews
内的任何位置访问activity
arrayList。