вариант использования:
Деятельность А является основной деятельностью. Принимая во внимание, что действие B - SearcActivity (SearchManager). Действие B - это ListActivity, поэтому, какой бы ни был результат, результат отображается в списке. После того, как пользователь щелкнет по списку, я хочу вернуть выбранный элемент списка в ActivityA.
Что я сделал?
Я мог бы вызвать SearchActivity для кнопки, используя «onSearchRequested ()». В ActivityB я отображаю результаты поиска через "setListAdapter (адаптер)". Используя «onListItemClick», я могу узнать, какая опция в списке была выбрана пользователем.
Теперь я попытался отправить результат обратно в ActivityA, используя следующий код
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("item", l.getItemAtPosition(position).toString());
intent.putExtras(bundle);
setResult(RESULT_OK, getIntent() );
finish();
И в 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.