あるアクティビティから別のアクティビティにデータを渡そうとしていますが、onActivityResult がトリガーされていません。MainActivity と呼ばれるスタートアップ アクティビティを使用して、このコードで onActivityResult をトリガーするイメージ ギャラリーを表示できます。
Intent i = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
別のアクティビティから、私はこのコードを持っています
gridLayout.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent =new Intent();
setResult(RESULT_OK,intent);
intent.setClass(getApplicationContext(), MainActivity.class);
intent.putExtra("someData",id);
finish();
}
});
これにより、MainActivity の onActivityResult も問題なく呼び出されますが、この次のコード行は呼び出されません。
gridLayout.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent();
intent.setClass(getApplicationContext(), MainActivity.class);
intent.putExtra("someData",id);
startActivityForResult(intent, 2);
}
});
マニフェスト ファイルを調べたところ、すべてが正しく設定されています。私は人々が android:noHistory="false" にするなどのことを提案しているのを見てきましたが、マニフェストにはこれらの設定がありません。とてもシンプルでこんな感じです。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/CustomTheme"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ImageRollActivity"
android:theme="@style/GridTheme"
android:label=" Image Roll"
android:parentActivityName=".MainActivity"
>
</activity>
なぜこれがトリガーされないのかについて誰かが洞察を持っているなら、それは大歓迎です!