ユースケース: アクティビティAは主なアクティビティです。アクティビティBはSearcActivity(SearchManager)です。アクティビティBはListActivityなので、結果が何であれ、結果がリストに表示されます。ユーザーがリストをクリックすると、そのリストを選択して、ActivityAに戻すことができます。SearchManagerアクティビティの結果をアンドロイドのメインアクティビティに取得
私は何をしましたか? "onSearchRequested()"を使用してボタン上でSearchActivityを呼び出すことができました。 ActivityBでは、私は "setListAdapter(アダプタ)"を介して検索結果を表示しています。 "onListItemClick"を使用すると、ユーザーがリスト内のどのオプションを選択したかを知ることができます。
は、今私はコード
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("item", l.getItemAtPosition(position).toString());
intent.putExtras(bundle);
setResult(RESULT_OK, getIntent());
finish();
そしてActivityA内に従うことにより、バックActivityAに結果を送信してみました、私は「onActivityResult」で結果を読み取るしようとしました。
Bundle bundle = data.getExtras();
String strItem = bundle.getString("item");
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Item Selected");
alertDialog.setMessage("Item = " + strItem);
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});
alertDialog.show();
問題: 私はかつて活動Aが、再開されたが、 "onActivityResult" すべてで呼び出されていない、ということに気づきました。したがって、私はどんな対話も見ていない。さらに、SearchActivityが実際にActivityAに何かを送信しているかどうかは検証できません。
友人は、どのようにしてActivityBから送信されたデータをキャプチャできますか。