현재 프로젝트에서 특정 부분의 프래그먼트에서만 보여주는 bottomSheet와 customToolbar가 존재합니다.
MainActivity
public void showToolbarAndBottomSheet() {
Log.d("MainActivity", "showToolbarAndBottomSheet()");
homeToolbar.setVisibility((View.VISIBLE));
bottomView.setVisibility(View.VISIBLE);
}
public void hideToolbarAndBottomSheet() {
homeToolbar.setVisibility(View.GONE);
bottomView.setVisibility(View.GONE);
}
이 함수를 이용해 뷰의 가시성을 조절하려고 했습니다.
그래서 Fragment에서
@Override
public void onResume() {
super.onResume();
((MainActivity) getActivity()).showToolbarAndBottomSheet();
Log.d("HomeFragment", "onResume()");
}
@Override
public void onPause() {
super.onPause();
// Toolbar and BottomSheet are hidden when HomeFragment is not visible
((MainActivity) getActivity()).hideToolbarAndBottomSheet();
if (tipBanner != null) {
tipBanner.dismiss();
}
}
이렇게 함수를 호출해 특정 뷰일 때는 가시성을 보이게하고 특정 뷰를 벗어나면 가시성을 안보이게 설정 했습니다.
하지만 프래그먼트 -> 다른 프래그먼트로 이동 -> 뒤로가기를 누를 시 가시성이 보여야하지만 보이지 않습니다.
프래그먼트 -> 다른 프래그먼트로 이동 -> 뒤로가기 -> 다른프래그먼트로 이동 -> 다시 뒤로가기 의 플로우로 진행하면 가시성이 정상적으로 작동됩니다.
stack 때문인거 같은대 기존 뷰가 보일때 이미 stack 이 쌓엿으므로 정상 작동해야되는거 아닌가요 ?
뭐가 문제일까요 ?