나는 세 가지 활동, a, b, c이 있습니다. 활동 b은 활동을 시작합니다 c. 활성 C에서 난은 다시 키 활성 C가 B 그것이 방치대로 표시한다 완료() 및 활성 누르면 것이다. 내가 활동에게를 표시하기 위해 같은 시간에() 활동 B을 완료 할,() 활동을 C을 완료 할 때Android 액티비티 원격 완료
그 어려운 일이 아니다은, 내가 뭘 걸려 라하는 것입니다.
다른 활동에서 활동을 완료하는 방법에 대해 알고있는 사람이 있습니까?
나는 세 가지 활동, a, b, c이 있습니다. 활동 b은 활동을 시작합니다 c. 활성 C에서 난은 다시 키 활성 C가 B 그것이 방치대로 표시한다 완료() 및 활성 누르면 것이다. 내가 활동에게를 표시하기 위해 같은 시간에() 활동 B을 완료 할,() 활동을 C을 완료 할 때Android 액티비티 원격 완료
그 어려운 일이 아니다은, 내가 뭘 걸려 라하는 것입니다.
다른 활동에서 활동을 완료하는 방법에 대해 알고있는 사람이 있습니까?
이 가장 좋은 방법을 달성하기 startActivityForResult와 onActivityResult를 결합하여 사용하는 것입니다.
활동 A로부터,에 startActivityForResult를 사용하여 결과()에 대해 B 개시 활동 C에서 다음 활성 B를 시작
활동 C에서, 사용자는 다시 트리거 또는
는 결과 집합) (파괴 그 B는 C에서 그 결과를 받으면 C. 에서,뿐만 아니라 마무리을
통화 마무리() 알릴 것, B뿐 아니라 자체 마무리()를 호출한다. 자식 활동을 유발하면서 부모 활동에서
는 다음 명령을 사용합니다 -startActivityForResult(intent,variable(int));
및 활동 B에서 다음과 같은 방식으로하여 onActivityResult 메소드를 오버라이드 (override) : -
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode==2){
finish();
}
}
지금 하위 작업 C에서 onStop 및 onDestroy를 다음과 같이 재정의합니다. -
protected void onStop() {
setResult(2);
super.onStop();
}
@Override
protected void onDestroy() {
setResult(2);
super.onDestroy();
}
당신이 직접이 follwong 코드와 같은 활동 A를 이동합니다 ACK 버튼을 클릭하면 예, 활동에 이동하기 전에 C는, 그래서 다음 번에 활동 B. 마무리 :
Intent in = new Intent(B.class, C.class);
startActivity(in)
finish();
내가하고 싶은 일은 뒤로 버튼에 활동 B를 표시하고 확인 버튼에 활동 A를 표시하는 것입니다. –
위의 코드에서 Back Button을 클릭하면 Activity C –
에서 직접 Activity A로 리디렉션되며 finish(); Activity C를 누르면 Back Button을 클릭하고 그렇지 않으면 Exceptions를 얻을 수 있습니다 –
Thanks, Worked well. –