* Library version:1.2.6 * Support-v4 version:27.0.2 在demo_zhihu中,如果在不可见的父Fragment中去移除他的单例子Fragment,那么这个子Fragment并没有被移除,再次去启动这个Fragment的时候就无法再启动了。具体修改的代码为: 1. ContentFragment第69行,启动SINGLETAST子Fragment mBtnNext.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 和MsgFragment同级别的跳转 交给MsgFragment处理 if (getParentFragment() instanceof ShopFragment) { ((ShopFragment) getParentFragment()).start(CycleFragment.newInstance(1), SINGLETASK); } } }); 2. MainActivity第77行 @Override public void onTabSelected(int position, int prePosition) { showHideFragment(mFragments[position], mFragments[prePosition]); if (position != 2) { onTabReselected(2); // 模拟在不可见Fragment移除子Fragment } } 修改完成后进入zhihu demo,点击第三个Tab,点击启动CyclerFragment,然后点击第二个Tab,再点击第三个Tab,再次点击启动CyclerFragment,这时就无法启动这个子Fragment了
在demo_zhihu中,如果在不可见的父Fragment中去移除他的单例子Fragment,那么这个子Fragment并没有被移除,再次去启动这个Fragment的时候就无法再启动了。具体修改的代码为:
mBtnNext.setOnClickListener(new View.OnClickListener() {
@OverRide
public void onClick(View v) {
// 和MsgFragment同级别的跳转 交给MsgFragment处理
if (getParentFragment() instanceof ShopFragment) {
((ShopFragment) getParentFragment()).start(CycleFragment.newInstance(1), SINGLETASK);
}
}
});
@OverRide
public void onTabSelected(int position, int prePosition) {
showHideFragment(mFragments[position], mFragments[prePosition]);
if (position != 2) {
onTabReselected(2); // 模拟在不可见Fragment移除子Fragment
}
}
修改完成后进入zhihu demo,点击第三个Tab,点击启动CyclerFragment,然后点击第二个Tab,再点击第三个Tab,再次点击启动CyclerFragment,这时就无法启动这个子Fragment了