1

나는 액티비티 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(); 
    } 

왜 이런 일이 벌어 질 수 있는지 알고 싶습니다. 나는 전에 이것을 본 적이 없다. 미리 감사드립니다.

+0

@SteveBenett 예, 'singleTask'입니다. – noloman

답변

1

그건 내가 singleTask로 매니페스트에 내 활동을했기 때문에 : 당신은 매니페스트의 launchMode singleInstance 또는 singleTask로 활동가 설정 한

관련 문제