2010-11-30 4 views
2

TabWidget 안에 ListView이 있습니다. ListView에서 항목을 선택하고 자식 ListView으로 이동하면 TabWidget이 사라집니다. 이것은 메서드를 호출한다는 것을 제외하고는 괜찮습니다. 따라서 ListView 부모에게 돌아 가면 onRestart이 호출됩니다.탭 위젯의 onPause, onRestart로 작업 - Android

서버에서 업데이트 된 데이터를 검색하기 위해 onRestart 설치가 있지만, 사용자가 부모 ListView에 반환 할 때마다이 메시지가 나타나기를 원하지 않습니다. 앱이 백그라운드에서 실행 중일 때 나는 단지 onRestart을 호출하기를 원합니다. onRestart 안에있는 코드를 실행해야하는지 결정하기 위해 부울 변수를 구현하려고했지만이 효과를 얻는 방법이없는 것처럼 보입니다.

아이디어가 있으십니까?

답변

1

startActivityForResult으로 자녀의 활동을 중지하고 onActivityResult에 플래그를 다시로드하지 않도록 설정할 수 있습니다 (사용자가 세부 정보 페이지의 목록보기로 되돌아 올 때 호출해야 함). 당신은 당신이 onCreateonRestarttrue로 설정 거라고 멤버 변수 (의이 mReload을 가정 해 봅시다)을 가지고 있고, falseonActivityResult에, 다음 mReload이 참 onResume 경우 다시로드를 처리 (그래서 false 일반 이력서로 다시 설정할 것 재 장전을 유발하지 않습니다).

대체 : 행의 클릭 수신기에서 활동에 플래그 (mLeftPage)를 설정하면됩니다. 다시 시작할 때 mLeftPage이 참일 경우 목록을 다시로드하지 말고 mLeftPage을 false로 다시 설정하십시오. 그렇지 않으면 다시로드하십시오.

+0

두 번째 (대안) 답변은 구현하기가 쉬웠으나이 질문을하지 않고 바로 답변을 얻지 못하는 것이 주로 내 논리 문제였습니다. 고맙습니다. – Chris