我的应用程序通常会多次添加然后删除相同的片段。下面是我如何做到这一点:
Add fragment
if (mHomeFragment == null)
{
mHomeFragment = new HomeFragment();
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
getSupportFragmentManager().beginTransaction().add(R.id.dummy, mHomeFragment).commit();
}
}, getResources().getInteger(R.integer.transition_duration));
}
else
{
getSupportFragmentManager().beginTransaction().add(R.id.dummy, mHomeFragment).commit();
}
Remove fragment
getSupportFragmentManager().beginTransaction().remove(mHomeFragment).commit();
问题是,有时当从包含该片段(HomeFragment)的活动导航到另一个活动时,我的应用程序崩溃了。我试图找出原因,但仍然没有办法。我这里没有完整的错误日志,因为此错误不经常发生,但错误与此相同https://android.googlesource.com/platform/frameworks/support/+/5506618c80a292ac275d8b0c1046b446c7f58836%5E!/:
IllegalStateException: Failure saving state......active HomeFragment{419494f0} has cleared index: -1
有没有人看到我的代码有任何问题,或者只是知道如何解决这个错误,请帮助我。谢谢大家。