在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 完成活动