当我试图在片段内以编程方式切换选项卡布局时,出现了空指针异常。
我的主要活动有一个选项卡布局(4个选项卡),每个选项卡都有一个视图页控件,包含一个片段,每个这些片段都有一个选项卡布局(x 个选项卡)和一个视图页控件,我可以从任何片段切换主要活动选项卡布局的选项卡,如下所示:
TabLayout tabLayout = MainActivity.tabLayout;
TabLayout.Tab tab = tabLayout.getTabAt(2);
tab.select();
但是,如果我尝试以同样的方式更改其中一个片段的标签,我会收到一个空指针异常
TabLayout tabLayout2 = tabFragOne.tabLayout;
TabLayout.Tab tab2 = tabLayout2.getTabAt(2);
tab2.select();
只有在应用程序首次打开时单击所涉及的按钮才会发生这种情况,这表明原因是片段尚未附加或创建,
例如,如果我滚动到要切换到的片段选项卡,然后返回到主活动并按下所涉及的按钮,它将起作用。有人知道修复此问题的最佳方法吗?
好的,我已经找到了这个问题的一半关键是我正在使用一个视图分页适配器,一个问题在这里阐明了我的问题。