有没有办法在页面上找到所有View.GONE元素?

时间:2013-05-21 10:25:15

标签: java android view

我有一个Android应用程序,我隐藏并在页面上显示不同的自定义项目。有没有办法遍历页面上设置为view.gone的所有项目,或者我是否必须为每个ID执行if?

非常感谢

2 个答案:

答案 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。