首页 > 解决方案 > 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);
    }

标签: javaandroidvirtual

解决方案


推荐阅读