【问题标题】:Switching MainActivity's tabs from a RecyclerView Adapter从 RecyclerView 适配器切换 MainActivity 的选项卡
【发布时间】:2020-05-27 12:34:17
【问题描述】:

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

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

但是,当我想从其中一个片段中的 RecyclerView 适配器执行相同的操作时,事情就变得棘手了。 “getActivity”部分是问题所在。我试图将 FragmentActivity 传递给 Adapter 以便像这样使用它:

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

但是我被 NPE 击中了。我做错了什么?

【问题讨论】:

    标签: android android-fragments android-recyclerview android-tablayout


    【解决方案1】:

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

    TabLayout tabs = FragmentSets.getInstance().getActivity().findViewById(R.id.tabs);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      相关资源
      最近更新 更多