在onBackPressed之外的活动中获取当前片段?

Posted

技术标签:

【中文标题】在onBackPressed之外的活动中获取当前片段?【英文标题】:Get the current fragment in activity outside onBackPressed? 【发布时间】:2020-05-21 11:01:33 【问题描述】:

我搜索了如何在活动中获取打开的片段,但发现检查必须发生在该活动的 onBackPressed 方法中

那么是否可以在不需要用户单击后按的情况下将其放入活动中?

这是目前的解决方案

    @Override
        public void onBackPressed() 
            super.onBackPressed();

             Fragment f = getActivity().getFragmentManager().findFragmentById(R.id.fragment_container);
          if(f instanceof CustomFragmentClass) 
            // do something with f
            ((CustomFragmentClass) f).doSomething();

         

【问题讨论】:

【参考方案1】:

您几乎可以在任何地方在您的活动课程中执行此操作。

 Fragment f = getSupportFragmentManager().findFragmentById(R.id.fragment_container)

或者在你的片段中

 Fragment f = getActivity().getSupportFragmentManager().findFragmentById(R.id.fragment_container)

【讨论】:

以上是关于在onBackPressed之外的活动中获取当前片段?的主要内容,如果未能解决你的问题,请参考以下文章

在单个活动 android 应用程序中管理 onBackPressed

在活动中使用 OnBackPressed 方法的一个片段到另一个片段

从 dialogfragment 调用 onBackPressed 完成活动

应用程序在主要活动中关闭onBackPressed

在可序列化之后使用 onBackPressed() 发回列表

如何使用 onBackPressed() 显示 SoftKeyboard 来完成()活动