나는 액티비티 A에 인 텐트를 생성하고 안드로이드의 ListView의 setOnItemClickListener에서 startActivityForResult로 액티비티 B를 시작한다.안드로이드에서 ListView의 setOnItemClickListener에서 startActivityForResult 호출하기
Intent detailsIntent = new Intent(MyTeamDetailsActivity.this, MatchMediaActivity.class);
detailsIntent.putExtra("data", data);
detailsIntent.putExtra("hasSmoovz",mSmoovz);
detailsIntent.putExtra("uitslagen", true);
startActivityForResult(detailsIntent, MATCH_MEDIA_REQUEST);
문제는 활동을 실행하면 즉시 활성 (A)의 부분에 onActivityResult를 입력하는이지만의 resultCode 함께 = 0; 다음, 그 일 후에는 다음에서 onCreate 등 활동 B.
의 다음 코드 내 onActivityResult를한다로드 :
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == MATCH_MEDIA_REQUEST) {
if (resultCode == RESULT_OK) {
refreshData();
}
}
}
그리고 이것은 내가 활동 B를 완료하고 간단한 코드입니다 결과 코드를 제공하십시오 :
@Override
public void onBackPressed() {
setResult(RESULT_OK);
finish();
}
왜 이런 일이 벌어 질 수 있는지 알고 싶습니다. 나는 전에 이것을 본 적이 없다. 미리 감사드립니다.
https://developer.android.com/guide/topics/manifest/activity-element.html#lmode
(@SteveBarret 덕분에)? –
@SteveBenett 예, 'singleTask'입니다. – noloman