私は同じ問題を抱えていました。
Iフラグメント(Building a Flexible UI)とスタンダートガイドラインpractic作業を用います。 2つのフラグメント(ListItemsFragmentとInfoItemFragment)があります。 通常の画面サイズで使用すると、私はInfoItemFragmentのListItemsFragmentに置き換えられ、 のメソッドはonHiddenChangedが自動的に呼び出されません。
FragmentTransaction mFragmentTransaction = getFragmentManager().beginTransaction();
mFragmentTransaction.replace(R.id.container_fragment, new InfoItemFragment(), "tag_fr_infoItem");
mFragmentTransaction.addToBackStack(null);
mFragmentTransaction.commit();
私はhideメソッドFragmentTransactionを呼び出す必要があると思います。例:
ListItemsFragment mListItemsFragment;
FragmentTransaction mFragmentTransaction = getFragmentManager().beginTransaction();
mFragmentTransaction.replace(R.id.container_fragment, new InfoItemFragment(), "tag_fr_infoItem");
if (mListItemsFragment != null) {
mFragmentTransaction.hide(mListItemsFragment);
}
mFragmentTransaction.addToBackStack(null);
mFragmentTransaction.commit();
これで、onHiddenChangedメソッドは正常に動作しました。ユーザーが「戻る」ボタンをクリックすると、mListItemsFragmentが再度表示され、onHiddenChangedメソッドが自動と呼ばれます。ドキュメントで
は言った:フラグメントがその
から状態を変更するたびに これは私たちが手動で変更値は、メソッドが呼び出されますしなければならないと思うと呼ばれます。
回答ありがとうございますが、このメソッドはこれまでに呼び出されませんでした。だから私はそれが私のビューページにリスナーがあるという事実のために解決しました。このリスナーでは、私はonHidden-Changedメソッドを呼び出します。愚かなしかしええ、それは今動作します。 – mikepenz
これは決して呼び出されていません。 –