gpt4 book ai didi

android - 使用 setCurrentItem(int index) 时,android PageAdapter 和 ViewPager 是否检查 indexoutofbounds 异常?

转载 作者:搜寻专家 更新时间:2023-11-01 08:53:18 25 4
gpt4 key购买 nike

所以我的 Activity 正确使用了 PageAdapter 和 ViewPager,其中 3 张图像可以从左向右滚动。因此,我在 Activity 上有左右箭头,并为两个图像设置了一个 onClickListener,以便使用 ViewPager 寻呼机左右滚动。方法是这样的

private void setOnClickArrows(final ViewPager pager){
ImageView rightArrow = (ImageView) view.findViewById(R.id.right);
ImageView leftArrow = (ImageView) view.findViewById(R.id.left);


rightArrow.setOnClickListener(new OnClickListener ()
@Override
public void onClick(View v) {
pager.setCurrentItem(pager.getCurrentItem() + 1);
}

});

leftArrow.setOnClickListener(new OnClickListener ()
@Override
public void onClick(View v) {
pager.setCurrentItem(pager.getCurrentItem() - 1);
}

});

}

这非常有效。但是,我想知道 ViewPager 如何检查索引是否越界以及我是否应该这样做?

最佳答案

是的,确实如此。引用source并查看 setCurrentItemInternal 方法(由 setCurrentItem() 调用)。

有一些检查可以避免崩溃,其中之一就是避免 OOBExceptions:

if (item < 0) {
item = 0;
} else if (item >= mAdapter.getCount()) {
item = mAdapter.getCount() - 1;
}

你应该检查自己吗?由你决定。我不会,因为这些支票微不足道,所以我不希望支票消失。

关于android - 使用 setCurrentItem(int index) 时,android PageAdapter 和 ViewPager 是否检查 indexoutofbounds 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21105535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com