在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之外的活动中获取当前片段?的主要内容,如果未能解决你的问题,请参考以下文章