[英]ViewPager to ViewPager2 in android
我正在將 Viewpager 遷移到 Viewpager2,目前我面臨 2 個問題,
問題 2 使用以下代碼: mBinding.viewPager.setCurrentItem(index, true);
如果選擇的索引是 3 等,它總是會索引 0。
對於問題 1,我使用下面的代碼,並且我能夠在滾動時看到左右項目也代碼:
viewPager.setClipToPadding(false);
viewPager.setClipChildren(false);
viewPager.setOffscreenPageLimit(1);
請讓我知道使用 viewpager2 是否正確。 問題 2 仍然是一個問題,有人可以幫助解決 Viewpager2 中的 1 ,2 問題嗎?
當前代碼:
@Override
public void onResume() {
super.onResume();
Log.e(TAG, "onResume");
mBinding.viewPager.setCurrentItem(index, true);
}
@Override
public void onPause() {
super.onPause();
Log.e(TAG, "onPause");
index = mBinding.viewPager.getCurrentItem();
}
mBinding.viewPager.setClipToPadding(false);
mBinding.viewPager.setClipChildren(false);
mBinding.viewPager.setOffscreenPageLimit(1);
SlideAdapter = new SlideAdapter(this, List, Fragment.this);
mBinding.viewPager.setAdapter(SlideAdapter);
mBinding.viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
super.onPageScrolled(position, positionOffset, positionOffsetPixels);
}
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
Log.d(TAG, "onPageSelected:" + position);
}
@Override
public void onPageScrollStateChanged(int state) {
super.onPageScrollStateChanged(state);
}
});
任何幫助表示贊賞!
使用此行顯示項目水平
viewPager2.orientation = ViewPager2.ORIENTATION_HORIZONTAL
並且不要忘記注銷 OnPageChangeCallback
viewPager2.unregisterOnPageChangeCallback(viewPager2PageChangeCallback)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.