2017-05-11 4 views
0

투명 활동이있는 간단한 코드가 있습니다 (내 MainActivity에 부과됩니다). 버튼을 클릭하면이 투명 작업을 중단해야하고 이후에는 대화 상자를 표시해야합니다. 만약투명 활동의 onDestroy/Lifecycle을 호출하여 투명 활동을 닫습니다.

public void buttonClick(View view) { 
    if (view.getId() == R.id.bToK) 
    { 
     onDestroy(); 
    } 
} 

투명 활동이 여전히 그냥 아무것도 일어나지 (디버그 모드에서 나는 그것이들의 OnDestroy에가는 것을 볼 수 있지만 나는 전혀 파괴하지 않습니다) 볼 :하지만 먼저 모든 내가 그렇게 할 경우 몇 가지 문제를 얻을 수 onDestron()을 finish()로 변경하면 내 대화 상자를 만드는 동안 다음 문제에 투명하게 대처할 수 있도록 onDestroy라는 Main Activity가 처음으로 표시되고 (onResume이 호출 됨) 다른 문제가 발생합니다. 어떻게해야합니까?이 투명을 죽인 후에이 대화 상자를 표시하려면?

답변

0

대신 finish()를 호출하십시오. onDestroy()를 호출하고 활동 수명을 존중합니다. 다음 대화 상자를 열려면 onResult를 사용하여 주 활동을 완료하거나 시작하기 전에 시작할 수 있습니다. https://developer.android.com/training/basics/intents/result.html

+0

진정해! 내 게시물을 편집하고 onResult를 사용하면 대화 상자가 닫힐 때까지 기다렸다가 작업을 완료 할 수 있습니다. 또는 대화 상자를 열 수있는 주 활동에 대한 응답 코드를 사용하여 "투명"활동을 중지 할 수 있습니다. – Timo

+0

TransparentActivity를 죽인 후 정확하게 대화를 시작할 수 있습니까? 또는 onResume MainActivity 이전에? –

+0

startActivityForResult를 사용하여 메인에서 투명 액티비티를 시작해야하며 finifh()를 호출하면 mainActivity에서 onresult가 시스템 호출을 통해 여기에 대화 상자를 시작합니다. 내 대답으로 준 문서 읽기 – Timo