从RecyclerView适配器切换MainActivity的选项卡

问题描述 投票:0回答:1

简单的问题:我的MainActivity在TabLayout中具有选项卡,在选项卡中具有一些片段。我可以像这样从片段中以编程方式选择所需的标签:

TabLayout tabs = getActivity().findViewById(R.id.tabs);
TabLayout.Tab tab = tabs.getTabAt(0);
tab.select();

但是当我想从片段之一中的RecyclerView适配器执行相同操作时,事情变得棘手。问题是“ getActivity”部分。我试图将FragmentActivity传递给适配器以使用它,如下所示:

TabLayout tabs = (TabLayout) fa.findViewById(R.id.tabs);

但是我受到NPE的打击。我在做什么错?

android android-fragments android-recyclerview android-tablayout
1个回答
0
投票

好吧,只需从片段中提取实例并从该实例获取活动即可解决:

TabLayout tabs = FragmentSets.getInstance().getActivity().findViewById(R.id.tabs);
© www.soinside.com 2019 - 2024. All rights reserved.