如何以编程方式显示ViewFlipper的第二个子元素?

14

我有一个包含3个子元素的ViewFlipper。

我希望能够显示其中任何一个子元素。例如,可能我希望ViewFlipper最初加载第2个子元素而不是第1个子元素。

编辑: 我知道可以使用getChildAt(int index)方法。

当ViewFlipper中的一个子元素被展示时,如何获取该子元素的索引?

2个回答

22

我希望能够最初显示其中的任何一个子项。例如,可能我希望ViewFlipper最初加载第二个子项而不是第一个。

调用setDisplayedChild()方法。

当在ViewFlipper中显示子项时,如何获取该子项的索引?

调用getDisplayedChild()方法。


setDisplayedChild() 在使用 setInAnimation() 时效果不佳。如果添加了动画,则 ViewFlipper 不会隐藏除当前显示的项之外的其他项,所有视图将重叠在一起。 - Jemshit Iskenderov

12

bringChildToFront(child)只是改变子视图的索引值,没有其他作用。

如果不使用showNext()或showPrevious(),想要将子视图置于最前面,请使用setDisplayedChild()indexOfChild()方法。

示例:

vf.setDisplayedChild(vf.indexOfChild(child));

其中child是需要置于最前面的view

谢谢。


10
很棒的答案,以下是我的翻译:vF.setDisplayedChild(vF.indexOfChild(findViewById(R.id.view)));这段代码的作用是将一个布局中指定ID的视图显示在屏幕上。 - Comic Sans MS Lover

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接