Nia*_*gor 2 android fragmentmanager android-viewpager2
我在视图寻呼机 2 中使用 4 个片段。突然出现此错误。崩溃并不总是出现。我搜索了其他问题,但找不到有关 viewpager2 的任何解决方案。
来自手机的崩溃报告无法获得全貌
setUpViewPager()从调用这个在onStart()的MainActivity
public void setupViewPager() {
MainActivityViewPager adapter = new MainActivityViewPager(getSupportFragmentManager(), getLifecycle());
binding.viewpager.setUserInputEnabled(false);
binding.viewpager.setOffscreenPageLimit(3);
binding.viewpager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
if (prevMenuItem != null) {
prevMenuItem.setChecked(false);
} else {
binding.bottomNavigation.getMenu().getItem(0).setChecked(false);
}
binding.bottomNavigation.getMenu().getItem(position).setChecked(true);
prevMenuItem = binding.bottomNavigation.getMenu().getItem(position);
}
});
binding.viewpager.setAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)
主ActivityViewPager
public class MainActivityViewPager extends FragmentStateAdapter {
public MainActivityViewPager(@NonNull FragmentManager fragmentManager, @NonNull Lifecycle lifecycle) {
super(fragmentManager, lifecycle);
}
@NonNull
@Override
public Fragment createFragment(int position) {
switch (position) {
case 0:
return new HomeFragment();
case 1:
return new ProgressFragment();
case 2:
return new MoreFragment();
case 3:
return new ProfileFragment();
}
return null;
}
@Override
public int getItemCount() {
return 4;
}
Run Code Online (Sandbox Code Playgroud)
谁能建议我一个解决方案?这目前正在生产应用程序中发生,我的头上有红色警报。谢谢你们
基于日志你ViewPager被放在里面 (nested?) Fragment,所以你应该使用getChildFragmentManager而不是getSupportFragmentManager
| 归档时间: |
|
| 查看次数: |
1577 次 |
| 最近记录: |