アクティビティ A でインテントを作成してから、Android の ListView の setOnItemClickListener から startActivityForResult を使用してアクティビティ B を開始しています。
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; であるということです。次に、それを実行した後、アクティビティ B の onCreate などをロードします。
次のコードは私の 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();
}
なぜこれが起こっているのでしょうか?これは今まで見たことがありません。よろしくお願いします。