私の例では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に戻るものであることに気づきました。