TabActivity에 4 개의 탭이 있습니다. 각 탭에서 활동이 시작되고 각 활동에서 여러 단편이 시작됩니다. 하나의 탭에서 어떤 이벤트가 발생하면 다른 탭의 백 스택을 지우고 싶습니다. 따라서 사용자가 나머지 탭을 클릭하면 조각이 다시 시작됩니다.다른 탭 백 스택을 지우는 방법은 무엇입니까?
0
A
답변
0
많은 생각을 한 후에 내 문제에 대한 해결책을 찾았습니다. 제가 생각한 첫 번째 해결책은 입니다. 다른 탭의 조각 관리자를 가져 와서 모든 조각을 나타낼 수 있습니다. 하지만이를 실행하려고 시도하면 예외가 발생합니다. 즉, IllegalStateException이 발생합니다. 새 액티비티를 시작하면 해당 액티비티의 onSaveInstance()가 호출되기 때문입니다. 그것의 부름 후, 그 활동의 backstack 내용을 수정하는 것이 허용되지 않습니다. 그래서 다른 해결책을 찾았습니다.
다른 탭에서 일부 이벤트가 발생하면 TabActivity의 로컬 활동 관리자에서 다른 탭 활동을 제거하십시오. 따라서 나머지 탭으로 이동하면 LocalActivityManager에서 해당 활동을 찾으려고 시도합니다. 우리가 그 액티비티들을 제거함에 따라, 그들은 매니저로부터 그 액티비티들을 얻지 못했습니다. 따라서 활동을 다시 시작합니다. 스택을 지우는 동작을 제공합니다.
0
당신은이 플래그가 활동을 죽일 것이다
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
활동에 다음 플래그를 설정하고 다시을 TabSpec에
을 누르면 다시 시작할 수 있습니다관련 문제
- 1. 전체 백 스택을 지우는 방법 (가능한 해결책)
- 2. 액티비티 백 스택을 조작하는 방법은 무엇입니까?
- 3. 홈 버튼을 눌렀을 때 백 스택을 지우는 방법
- 4. 작업의 백 스택을 지우고 새 작업 만 남기는 방법은 무엇입니까?
- 5. 백 버튼을 사용하려면 백 스택을 어떻게 사용해야합니까?
- 6. 안드로이드에서 활동 스택을 지우는 방법?
- 7. 탭 탐색에 대한 유용한 정보
- 8. 스택을 뒤집는 방법은 무엇입니까?
- 9. 스택을 깨뜨리는 방법은 무엇입니까?
- 10. 버튼에서 활동 스택을 지우는 방법 Android에서 클릭하십시오.
- 11. Android APP의 백 스택을 실시간으로 확인하는 방법은 무엇인가요?
- 12. CGContextRef를 지우는 방법은 무엇입니까?
- 13. 스택을 만들고 처리하는 방법은 무엇입니까?
- 14. 프로세서 스택을 변경하는 방법은 무엇입니까?
- 15. Java로 스택을 복사하는 방법은 무엇입니까?
- 16. char 스택을 정의하는 방법은 무엇입니까?
- 17. Solr에서 캐시를 지우는 방법은 무엇입니까?
- 18. Java에서 JList를 지우는 방법은 무엇입니까?
- 19. 보조 타일에서 페이지로 이동할 때 백 스택을 관리하는 방법
- 20. Opera에서 Canvas를 지우는 방법은 무엇입니까?
- 21. MKMapView 캐시를 지우는 방법은 무엇입니까?
- 22. 레이아웃의 콘텐츠를 지우는 방법은 무엇입니까?
- 23. 스프로킷 캐시를 지우는 방법은 무엇입니까?
- 24. 캐시 이미지를 지우는 방법은 무엇입니까?
- 25. HTML 캔버스를 지우는 방법은 무엇입니까?
- 26. www의 캐시를 지우는 방법은 무엇입니까?
- 27. 보기에서 하위보기를 지우는 방법은 무엇입니까?
- 28. 문자열에서 문자를 지우는 방법은 무엇입니까?
- 29. PowerShell에서 $ Error를 지우는 방법은 무엇입니까?
- 30. ASP.NET DataGrid를 지우는 방법은 무엇입니까?