我有一个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非常繁重,我不想使用这个最后一个选项。请帮助
答案 0 :(得分:2)
您可以使用viewFlipper.removeViewAt(index)
提供要删除的视图的索引(位置)。
OR
您可以使用viewFlipper.removeView(viewFlipper.findViewById(ID_OF_RELATIVE_LAYOUT_TO_REMOVE))
还有一个名为
的辅助方法 removeViews(int start, int count)
一次性删除多个视图。
答案 1 :(得分:1)
不要隐藏视图,而是尝试删除不需要的视图,例如
viewfliper.removeViewAt(relativeA POSITION);