본문 바로가기

나의 플랫폼/안드로이드

[Android] Fragment에서 toolbar의 back button이 안 먹힐 때

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


혹시, Fragment에서 Toolbar를 사용하시는데, onOptionsItemSelected 이 먹히지 않을 경우 이부분도 생각 해보시라고 글을 남깁니다.

Toolbar 에서 Back 화살표를 눌러 종료를 만듭니다. 이 리스너를 아래와 같이 설정해 놓지요.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
// some doing
}
return super.onOptionsItemSelected(item);
}


하지만, 아무리 위와같이 설정을 해도 이벤트가 넘어 오질 않습니다.

이건! Fragment의 특성 때문입니다. 
아마 구글링 해서보시면 여러 글이 나올겁니다. 
전 그냥 간편하게 아래와 같이 생각하고 개발을 하고 있습니다.

Fragment의 콜백함수는 무조건 Activity에서 필터링 되서 넘어온다.


따라서, 혹시 안되시는 분들은 해당 콜백 함수를 Fragment를 호출한 Acitivty에서 불러 보시면 분명! 이벤트를 받을 수 있을 겁니다.


참고 : 

http://stackoverflow.com/questions/29558568/manage-toolbars-navigation-and-back-button-from-fragment-in-android


## 이블로그는 어디까지는 찾았던 부분을 잊지 않기 위해 올려놓은 것 입니다.

    내용이 부실해도 이해해 주시길 바랍니다.