如何在条件下在ViewFlipper中进行相对布局GONE

时间:2012-07-17 08:21:39

标签: android xml relativelayout viewflipper

我有一个XML,在那个XML中我有一个RelativeLayout说R1,现在在R1里面我有一个ViewFlipper而在ViewFlipper里面我有7个相对布局,如果我在我的UI上加载所有七个,一切正常,但条件是只想在UI上显示3个相对布局(在ViewFlipper内)。任何人都可以帮助我休息4相对布局是View.GONE。 我试过设置它们

            if(X==Y){
            findViewById(R.id.relativeA).setVisibility(View.GONE);
        findViewById(R.id.relativeB).setVisibility(View.GONE);
        findViewById(R.id.relativeC).setVisibility(View.GONE);
        findViewById(R.id.relativeD).setVisibility(View.GONE);
            }

但这不起作用。我在onCreate的require条件下设置了这个,但是这个视图只有在活动启动时才会获得GONE,当我用手指在这里和那里时,所有布局都会出现在UI上。

现在我唯一的解决方案就是创建另一个带有所需relativelayouts的XML,但问题是我的XML非常繁重,我不想使用这个最后一个选项。请帮助

2 个答案:

答案 0 :(得分:2)

您可以使用viewFlipper.removeViewAt(index)提供要删除的视图的索引(位置)。

OR

您可以使用viewFlipper.removeView(viewFlipper.findViewById(ID_OF_RELATIVE_LAYOUT_TO_REMOVE))

还有一个名为

的辅助方法

removeViews(int start, int count)一次性删除多个视图。

有关详情,请查看ViewGroup - Android Documentation

答案 1 :(得分:1)

不要隐藏视图,而是尝试删除不需要的视图,例如

viewfliper.removeViewAt(relativeA POSITION);