【发布时间】:2020-09-05 16:29:13
【问题描述】:
API 30 Android 10.0+(Google API)、AVD (x86)
问题是... 只是为了测试 ViewPager2。我将 ViewPager2 与 TabLayout 和附加的片段一起使用。然后我将“屏幕外页面限制值”设置为 1。我预计会保持 3 页。 (当前,左,右页)但是大约6页被维护。当我使用以前的 ViewPager 时,它工作得很好。
我确实... 我在 Android Developers website> 阅读了文档。但我找不到上述问题的原因,我不知道文档中的 'OFFSCREEN_PAGE_LIMIT_DEFAULT' 意味着要维护多少页。它仅定义为 -1。
代码是...
public class MainActivity extends AppCompatActivity {
private TabLayout tabLayout;
private ViewPager2 viewPager;
private ViewPagerAdapter viewPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabLayout = findViewById(R.id.tabLayout);
viewPager = findViewById(R.id.viewPager);
viewPager.setOffscreenPageLimit(1);
viewPager.setAdapter(new ViewPagerAdapter(this, 9));
new TabLayoutMediator(tabLayout, viewPager, new TabLayoutMediator.TabConfigurationStrategy() {
@Override public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
tab.setText("Tab " + (position + 1));
}
}).attach();
}
}
【问题讨论】:
-
这对我来说似乎是一个错误。我在 IssueTracker here 中为此创建了一份报告。
-
@AdilHussain 你解决了这个问题吗?
-
不,我只是重新依赖默认的屏幕外页面限制,而不是调用此设置器。这对我来说没什么大不了的。
-
@AdilHussain 我也是,我想确认这是我的错误。
标签: android android-viewpager2