有找到哪个片段调用当前片段的方法吗?
Frag A -> Frag C
Frag B -> Frag C
所以我需要找到一个叫做片段C的片段。
片段更改方法
public void changeFragment(Fragment targetFragment, Bundle args, String tag){
resideMenu.clearIgnoredViewList();
if(args != null)
targetFragment.setArguments(args);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.main_fragment, targetFragment, tag)
.setTransitionStyle(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
.commit();
}
答案 0 :(得分:0)
在替换片段之前尝试使用以下代码:
Fragment currentFragment = getSupportFragmentManager().findFragmentById(R.id.main_fragment);
if( currentFragment instanceof A) {
// currentFragment is A;
} else if( currentFragment instanceof B) {
// currentFragment is B;
}
public abstract Fragment findFragmentById (int id)
查找由给定id标识的片段 在XML中膨胀或在事务中添加时作为容器ID。 这首先搜索当前添加到的片段 经理的活动;如果没有找到这样的片段,那么所有片段 当前在与此ID相关联的后台堆栈上进行搜索。