私の例には 3 つのクラスがあります。クラス A、メイン アクティビティです。クラス A は startActivityForResult を呼び出します。
Intent intent = new Intent(this, ClassB.class);
startActivityForResult(intent, "STRING");
クラス B、このクラスは TabActivity です。
Intent intent = new Intent(this, ClassC.class);
tabHost.addTab...
クラス C、このクラスは通常のアクティビティです。
Intent intent = this.getIntent();
intent.putExtra("SOMETHING", "EXTRAS");
this.setResult(RESULT_OK, intent);
finish();
onActivityResult はクラス A で呼び出されますが、resultCode はRESULT_CANCELED
代わりにRESULT_OK
返され、返されるインテントは null です。TabHost 内のアクティビティから何かを返すにはどうすればよいですか?
クラス C が実際にはクラス B の内部で実行されており、クラス B がRESULT_CANCELED
クラス A に戻っていることが問題であることに気付きました。回避策はまだわかりません。