0

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

非常感谢

4

2 回答 2

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

于 2013-05-21T10:31:26.087 回答
1

当您将它们的可见性设置为GONE时,同时将它们添加到预定义arraylist的 ,这样您将始终拥有不可见视图的记录。

In OnCreate:
hiddenViews = new ArrayList<View>();

在设置其可见性时:

view.setVisibility(View.GONE);
hiddenViews.add(view);

现在,您可以hiddenViewsactivity.

于 2013-05-21T12:00:42.677 回答