1

我在活动A中创建了一个intent,然后从Android的ListView的setOnItemClickListener中用startActivityForResult启动了一个活动B.从Android的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(); 
    } 

任何想法为什么会发生这种情况?我从来没有见过这个。 非常感谢。

+1

您已设置活动A作为launchMode singleInstance或singleTask在清单? –

+0

@SteveBenett是的,它是'singleTask' – noloman

回答

相关问题