我正在尝试创建一个ViewFlipper的自定义实现,但我发现它很容易跟踪正在调用哪个视图。我在我的课堂上写了一个日志,如下所示:
@Override
public void setDisplayedChild(int childIndex) {
Log.d("hello", childIndex);
}
我添加了4个子视图来测试该类。现在,当调用showNext()时,一切都很好并且会出现以下结果:1; 2; 3; 4; 1; 2 ...当我调用showPrevious()时,事情有点不对,我得到的结果是:-1; 2; 1; 0; -1; 2 ...
为什么序列以不同的数字开头和结尾?
答案 0 :(得分:1)
ViewFlipper
继承自ViewAnimator
:
getCurrentView():返回与当前显示的子项对应的视图。
getDisplayedChild():返回当前显示的子视图的索引。
此外,在设置子索引之前,请检查它是否有效。