티스토리 뷰
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
Clear back stack using fragments
프래그먼트를 사용하여 백 스택을 지우기
문제 내용
I ported my Android app to honeycomb and I did a big refactor in order to use fragments. In my previous version, when I pressed the Home button I used to do a ACTIVITY_CLEAR_TOP
in order to reset the back stack.
저는 저의 안드로이드 앱을 허니콤으로 이식하면서 프래그먼트를 사용하기 위해 큰 리팩토링을 했습니다. 이전 버전에서 Home 버튼을 누르면 ACTIVITY_CLEAR_TOP을 사용하여 백 스택을 재설정했습니다.
Now my app is just a single Activity with multiple fragments, so when I press the Home button I just replace one of the fragments inside it. How can I clear my back stack without having to use startActivity
with the ACTIVITY_CLEAR_TOP
flag?
이제 제 앱은 여러 프래그먼트가 있는 단일 액티비티만 있으므로, 홈 버튼을 누를 때 그 중 하나의 프래그먼트를 대체합니다. ACTIVITY_CLEAR_TOP 플래그를 사용하지 않고 백 스택을 지우는 방법은 무엇인가요?
높은 점수를 받은 Solution
I posted something similar here
저는 비슷한 내용을 여기에 게시했습니다.
From Joachim's answer, from Dianne Hackborn:
조아킴의 답변에서, 다이안 해크본(Dianne Hackborn)의 말입니다.
http://groups.google.com/group/android-developers/browse_thread/thread/d2a5c203dad6ec42
이 링크는 안드로이드 개발자들이 모여있는 구글 그룹스에서의 토론 글입니다.
I ended up just using:
결국 저는 다음을 사용하기로 결정했습니다:
FragmentManager fm = getActivity().getSupportFragmentManager();
for(int i = 0; i < fm.getBackStackEntryCount(); ++i) {
fm.popBackStack();
}
But could equally have used something like:
하지만 이렇게도 사용할 수 있습니다.
((AppCompatActivity)getContext()).getSupportFragmentManager().popBackStack(String name, FragmentManager.POP_BACK_STACK_INCLUSIVE)
Which will pop all states up to the named one. You can then just replace the fragment with what you want
이렇게 하면 명시된 상태까지 모든 상태를 제거할 수 있습니다. 그런 다음 원하는 대로 프래그먼트를 교체하면 됩니다.
가장 최근 달린 Solution
For the kotlin people around here:
여기 kotlin 사용자들을 위해 몇 가지 팁을 제공하겠습니다.
repeat(supportFragmentManager.backStackEntryCount) {
supportFragmentManager.popBackStack()
}
출처 : https://stackoverflow.com/questions/6186433/clear-back-stack-using-fragments
'개발 > 안드로이드' 카테고리의 다른 글
Flutter에서 텍스트가 길 때 말 줄임 표시하기 (0) | 2023.03.11 |
---|---|
ContentProvider에서 데이터베이스 닫기 (0) | 2023.03.11 |
현재 스레드가 메인 스레드(main thread)가 아닌지 확인하는 방법 (0) | 2023.03.08 |
ScrollView의 끝 감지하기 (0) | 2023.03.08 |
ContentProvider 없이 CursorLoader 사용 방법 (0) | 2023.03.07 |