동일한 문제가있었습니다.
필자는 스탠다드 가이드 라인 실제 작업을 조각 (Building a Flexible UI)과 함께 사용했다. 두 조각 (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 메소드가 자동으로 호출됩니다. 문서에서
는 말했다 : 조각이 난 우리가 수동 변경 값이 다음 메소드가 호출 될 것입니다 생각합니다 그
에서 상태를 변경할 때마다이 호출됩니다 .
답변을 주셔서 감사합니다. 그래서 나는 내 viewpager가 청취자를 가지고 있기 때문에 그것을 해결했다. 이 리스너에서는 onHidden-Changed 메서드를 호출합니다. 바보 같지만 그래, 지금은 효과가있다. – mikepenz
전화 한 적이 없습니다. –