ユーザーにデータがない場合、空のフラグメントを表示しています。そのemptyFragment(onViewCreated
)では、条件をチェックし、その空のフラグメントを別のものに置き換えることがあります。そのため、フラグメントを置き換えたアクティビティのメソッドを呼び出します。onViewCreated - フラグメントを置き換える場所が間違っていますか?
一部のユーザー(現在はサムスン、6.0.1それが何を意味している場合、私は知らない)私executePendingTransactions
ライン上でクラッシュが発生します。
IllegalStateException:
Fatal Exception: java.lang.RuntimeException
Unable to resume activity
{....app.activities.MyActivity_}:
java.lang.IllegalStateException: FragmentManager is already executing transactions
が、これは6.0.1のバグですまたはonViewCreated
これを行うには間違った場所ですか?
EDIT
が、これは可能な解決策でしょうか?
if (addToBackStack) {
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, contentFragment, name).addToBackStack(name).commitAllowingStateLoss();
getSupportFragmentManager().executePendingTransactions();
} else {
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, contentFragment, name).commitNow();
}
私は最初に 'executePendingTransactions()' – swalkner