java - java.lang.NullPointerException:尝试在空对象 rfernce 上调用虚拟方法“int androidx.viewpager2.widget.ViewPager2.getCurrentItem()”
问题描述
我正在创建一个视频应用程序。首次打开应用程序时没有问题。但是,当我在登录后关闭并打开应用程序时,出现此错误。我该如何解决这个问题?
Error Details:
java.lang.NullPointerException: Attempt to invoke virtual method 'int androidx.viewpager2.widget.ViewPager2.getCurrentItem()' on a null object reference
at com.test.video.ActivitesFragment.Home_F.onPause(Home_F.java:266)
at androidx.fragment.app.Fragment.performPause(Fragment.java:2782)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:933)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:434)
at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
at androidx.fragment.app.FragmentManagerImpl.execSingleAction(FragmentManagerImpl.java:1696)
at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:299)
at androidx.fragment.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:235)
at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1244)
at androidx.viewpager.widget.ViewPager.setCurrentItemInternal(ViewPager.java:669)
at androidx.viewpager.widget.ViewPager.setCurrentItemInternal(ViewPager.java:631)
at androidx.viewpager.widget.ViewPager.setCurrentItem(ViewPager.java:612)
at com.google.android.material.tabs.TabLayout$ViewPagerOnTabSelectedListener.onTabSelected(TabLayout.java:3326)
at com.google.android.material.tabs.TabLayout.dispatchTabSelected(TabLayout.java:1767)
at com.google.android.material.tabs.TabLayout.selectTab(TabLayout.java:1760)
at com.google.android.material.tabs.TabLayout.selectTab(TabLayout.java:1720)
at com.google.android.material.tabs.TabLayout$Tab.select(TabLayout.java:2138)
at com.test.video.MainMenu.MainMenuFragment.lambda$setupTabIcons$2$MainMenuFragment(MainMenuFragment.java:298)
at com.test.video.MainMenu.-$$Lambda$MainMenuFragment$V-dggKmBsOwj0BA1tZlatjLuWxk.onClick(Unknown Source:2)
at android.view.View.performClick(View.java:7185)
at android.view.View.performClickInternal(View.java:7162)
at android.view.View.access$3500(View.java:819)
at android.view.View$PerformClick.run(View.java:27684)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7562)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
Home_F.java:266
@Override
public void onPause() {
super.onPause();
VideosList_F fragment = (VideosList_F) viewPager2Adapter.getFragment(menuPager.getCurrentItem());
fragment.mainMenuVisibility(false);
}
解决方案
推荐阅读
- c - c程序中如何减少全局变量引起的依赖
- excel - 如何将相等导出为字符串(laravel-Excel)
- python-3.x - TypeError:在 udacity wepsite 测试中,我的 python 代码中无法调用“float”对象
- python - 无法在 pycharm Windows 10 上安装 python-binance
- javascript - 如何使用变量来使用 javascript 更改 css 样式的类型
- elasticsearch - JDBC输入logstash插件多次从mysql获取数据
- python - 安装 Flair(NLP 库)时出错
- scipy - 无法导入 scipy
- javascript - 如果上传非图像文件,Multer-s3-transform 错误
- c# - 尝试从 Oracle 中的多个表中填充表中的数据