【Android】组件ViewFlipper的滑稽

这几天真是被这个组件折磨的死去活来的,很不爽。花了3天多才查出这个奇葩的组件的奇葩之处!首先看例子:

假设A,B,C,D是四个View,已经加入在ViewFlipper里面了,A是第一张,其Index是0。在ViewFlipper的API里面有几个方法:

addView(View view); addView(View view, int index); removeViewAtIndex(int index)------(差不多类似吧!)

那么现在得出的结论是:

删除:调用removeViewAtIndex(int index),设置index = 0;

1)如果当前页是0,那么删除后直接跳到下一张(你可以一直删除,知道没有View在里面);

2)如果当前页不是0,那么删除后不会有变化,但是,再次点击下一张的时候就不是显示当前页的下一张,而是当前页的下下张(也就是说,如果当前页是B,你删除A,那么这个时候界面不会有变化,但是你再调用showNext去显示下一张,对不起,不是C,而是D!!);

添加:

1)默认添加是没有问题的(调用addView(View view),情况正常!);

2)无论在何处添加,设置值Index为0的时候,一旦添加,点击下一页还是本页(调用removeViewAtIndex(int index),设置index=0,比如你目前在B页,当你调用该方法添加View的时候,界面不会有变化,但是你再调用showNext去显示下一张,对不起,不是C,而是B!!)

我也不说这个有多么坑爹了,只是觉得不符合一般的感觉,写代码的时候注意点就是了,写出来大家注意一下。

原文地址:https://www.cnblogs.com/lqminn/p/2830326.html