2012-06-15 4 views
0

은 내가 activity 시작하려면 아래 코드를 사용하여 다시 시작 : 어떻게 든안드로이드 활동이

Intent intent = new Intent(XXX.this, YYY.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
startActivity(data); 

을, 나는, XXX의 onResume() 방법이 왜 호출을 모른다. 나는 progressDialogonResume() 내부 팝업하려고하기 때문에 는, 나는 오류가 아래에있어 : ​​

`android.view.WindowLeaked: Activity XXX has leaked window [email protected] that was originally added here.` 

디버그 모드에서, 나는 방법 onResume()의 첫 번째 줄에서 breakpoint가, 거기 결코 멈추지 않는다,하지만 여전히 내가 얻을 설정 위의 오류.

왜 이런 일이 발생합니까?

+0

startActivity (intent)가 아닌 startActivity (data)를 호출해야합니까? – Xono

+0

이 질문을 참조하십시오 : http://stackoverflow.com/q/2850573/844882 –

답변

0

onResume은 활동 수명주기의 일부이므로 활동을 처음 작성하는지 여부에 관계없이 호출됩니다. 사용자가 반환 할 때 대화 상자를 열려면 onResart가 아닌 onRestart에 해당 동작을 넣어야합니다.

편집 : 대화 작성 코드가 보이지 않으면 오류의 원인을 밝히기가 어렵습니다. 그러나 onResume에서 Dialog 자체를 만드는 것뿐만 아니라 showDialog를 호출하고 onCreateDialog에서 만든 대화 상자를 반환하는지 확인하십시오.

+0

mProgressDialog = ProgressDialog.show (this, "", getResources(). getString (R.string.notice_login_server), true, false); – newme

+0

Intent.FLAG_ACTIVITY_REORDER_TO_FRONT가 사용되면 onresume 대신 onresume이 호출됩니다. – newme

관련 문제