두 번째 활동을 startActivityForResult(Intent, int)
으로 호출하고 두 번째 활동의 onBackPressed()
을 덮어 쓰고 setResult()
을 RESULT_CANCELED
으로 설정하십시오. 마지막으로, 첫 번째 활동을 onActivityResult()
에 잡으십시오.
코드 예제 :
활동 1 :
Intent i = new Intent(Activity1.this, Activity2.class);
startActivityForResult(i, 0);
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
if (resultCode == RESULT_CANCELED) {
// user pressed back from 2nd activity to go to 1st activity. code here
}
}
}
활동 2 :
@Override
public void onBackPressed() {
setResult(RESULT_CANCELED);
finish();
}
연구 [이 답변] (HTTP : // 유래. com/a/10493384/779408) – breceivemail
조금 늦었지만 onRestart가 작동하지 않는 이유는 무엇입니까? 그것은 나를 위해 일하는가? – osrl