ViewFlipper是Android中的一个视图容器,类似于Android中的ViewPager,可以通过左右滑动来进行子视图之间的切换。要获取ViewFlipper现在滑动到的位置,我们可以结合其提供的getCurrentView()方法和getChildCount()方法进行判断。
代码如下:
```java
ViewFlipper viewFlipper = findViewById(R.id.viewFlipper);
View currentView = viewFlipper.getCurrentView();
int currentItem = 0;
for (int i = 0; i < viewFlipper.getChildCount(); i++) {
if (currentView.equals(viewFlipper.getChildAt(i))) {
currentItem = i;
break;
}
}
```
首先,通过findViewById()方法获取到ViewFlipper对象,然后通过getCurrentView()方法获取到当前正在显示的视图,再通过getChildCount()方法获取到ViewFlipper中子视图的数量。接下来,在for循环中遍历子视图,用equals()方法比对当前显示的视图和每个子视图是否一致,如果一致,即代表当前显示的视图是第i个子视图,就将i赋值给变量currentItem,最后返回currentItem即为ViewFlipper现在滑动到的位置。
需要注意的是,这种判断方式前提是ViewFlipper中所有的视图都是唯一的。如果有重复视图,需要做一些特殊处理。