- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
所以我的 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/
我有一个包含一个 ViewPager(没有别的)的 Activity 。我使用的 fragment 非常简单。它们由带有两个按钮(后退和前进)的平面背景组成。 当 ViewPager 随用户输入滚动时
我像这样创建一个自定义 View 寻呼机: public class TaskPagerAdapter extends FragmentStatePagerAdapter { public TaskP
setCurrentItem() 函数不适用于以下 android(java) 代码如何使其工作? Intent i = getIntent(); int position = i.g
我有一个包含 ViewPager 的 Activity,此 ViewPager 中的第一个 Fragment 包含 ListView,当我单击任何 Item 时,它会用选定的一个替换此 Fragmen
我正在尝试为本地 Activity 制作一个应用程序,以允许裁判快速判断表现。现在,我正在使用一个 View 寻呼机,如果不在页面中输入必要的结果,它们将不允许他们前进页面。我还让页面在他们输入结果后
当我在 ViewPager 上执行滑动操作时,页面会滑动,但如果我从选项卡执行 viewPager.setCurrentItem(pageNum),它会重置页面但不会滑动。如何以编程方式使页面滑动?
在 PyQt 中,我可以使用 QListWidget.setCurrentItem(item) 让 QListWidget 以编程方式选择一个项目。当然,这会在我的 QListWidget 中为我选择
我遇到了一个奇怪的问题,并且在过去的三个小时内无法解决这个问题。所以我需要帮助。我正在创建一个类似于 Play Music 中的 PlayerUI。该 Activity 有一个 ViewPager 并
我正在使用这段代码来创建 InfiniteViewPager: pAdapter = new InfinitePagerAdapter(new MyPagerAdapter()); Infinitiv
我使用 PagerAdapter。我有很多元素,所以我不会同时加载所有元素。我重新加载适配器,用新元素更改旧元素。例如,我有 4 个元素,当我到达最后一个元素时,我重新加载这些元素并调用 setCur
该应用程序使用 android viewpager2 (androidx.viewpager2:viewpager2:1.0.0-beta04) 来显示幻灯片。每张幻灯片的上半部分都有视频,下半部分有
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 4 年前。 错误: java.lang.Nu
我正在使用 qReader 库,根据我的日志,该库按预期工作,与大错误日志相反,除非尝试在 MainFragment 中使用 viewPager.setCurrentItem(0) 更改 fragme
在我的 MainActivity 的 Oncreate 中,我添加了这段代码: mDateAreaSlider.addOnPageChangeListener(new ViewPager.OnPage
这是我的 tabLayoutCode mTabLayoutBerita.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
对于我的项目,我使用可滑动的选项卡在列表之间导航。当删除其中一个列表时,我希望有一个流畅的动画并尝试通过使用 viewpager.setCurrentItem(page, true); 来存档它,以便
我想通过 viewpager 选项卡 fragment 更改在按钮单击中传递一些值。我有两个问题。 传递数据的最佳方式是什么? 如果我使用静态数据会有什么问题?比如: public static st
我的 ViewPager 附加的 TabLayout 有问题。重现步骤: 从第一个选项卡开始。 选择第二个标签。 按下后退按钮——我的代码看到用户在第二个选项卡上,并调用 viewPager.setC
我正在使用来自 Android 支持 v13 的 ViewPager,我想使用 setCurrentItem(int) 滚动到特定项目,但是当我尝试滚动超过 2 个页面时,应用程序卡住,几秒钟后,系统
我正在使用 viewpager 和标签布局 viewPager.setAdapter(Adapter); tablayout.setupWithViewPager(viewPager)
我是一名优秀的程序员,十分优秀!