336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
activity has been destroyed
Fragment 이동을 위해, begintransaction commit을 진행 할때 위와 같은 이슈가 발생할 가능성이 있다.
http://gogorchg.tistory.com/entry/Android-Can-not-perform-this-action-after-onSaveInstanceState
위 사항과 비슷한 현상때문에 발생한 오류 인데요.
머 에러 문구도 간단하다.
"이미 종료된 activity이니 호출 따위 하지마!" 이다 ㅎ
그래서 아래와 같은 예외처리 함수를 만들었다.
1 2 3 4 5 6 7 | public static boolean isActivityAvailable(Activity activity) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) { return !activity.isFinishing() && !activity.isDestroyed(); } else { return !activity.isFinishing(); } } | cs |
간단하다~ 종료 되었냐 안되었냐 판단해주는 함수이다.
isDestroyed는 SDK 17 이상부터 지원 되므로 예외처리를 하였다.
사용법은 아래와 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public void switchFragment(final Fragment fragment) { if (SysUtils.isActivityAvailable(this)) { FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction() .replace(R.id.container, fragment) .commitAllowingStateLoss(); } } | cs |
참고 바란다.
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
[Android] 스케줄링 작업 고려 할때 (0) | 2017.09.27 |
---|---|
[Android][CustomView] Button with TimePickerDialog (0) | 2017.09.27 |
[Android][Github] Create private project - 2 (0) | 2017.08.22 |
[Android][Github] Create private project - 1 (0) | 2017.08.22 |
[Android] 내가 생각 하는 VIPER Pattern (0) | 2017.08.22 |