早先这段代码可以正常工作,但是现在它突然停止工作了。 fragment 未与父 Activity 分离。
public void reLoadFragment(Fragment fragment)
{
Log.i(LogGeneratorHelper.INFO_TAG, "reloading fragment");
// Reload current fragment
Fragment frg = null;
frg = getSupportFragmentManager().findFragmentByTag(fragment.getClass().getName());
frg.onDetach();
final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.detach(frg);
ft.attach(frg);
ft.commit();
Log.i(LogGeneratorHelper.INFO_TAG, "reloading fragment finish");
}
最佳答案
支持库更新25.1.0后ft.detach()
不起作用。此解决方案在更新后可以正常工作:
getSupportFragmentManager().beginTransaction().detach(oldFragment).commitNowAllowingStateLoss();
getSupportFragmentManager().beginTransaction().attach(oldFragment).commitAllowingStateLoss();
信用:
Refresh or force redraw the fragment
关于android - 刷新 fragment android,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42855602/