Anwendungsfall: Aktivität A ist Hauptaktivität. Während Aktivität B ist SearcActivity (SearchManager). Aktivität B ist ListActivity. Ergebnis wird in der Liste angezeigt. Sobald der Benutzer auf die Liste klickt, möchte ich den ausgewählten Listeneintrag abrufen, der an ActivityA zurückgegeben werden soll.Ergebnis von SearchManager-Aktivität zur Hauptaktivität in Android
Was habe ich getan? Ich könnte SearchActivity auf Knopf mit "onSearchRequested()" aufrufen. In ActivityB zeige ich das Suchergebnis über "setListAdapter (adapter)" an. Mit "onListItemClick" kann ich herausfinden, welche Option in der Liste vom Benutzer ausgewählt wurde.
Jetzt habe ich versucht,
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("item", l.getItemAtPosition(position).toString());
intent.putExtras(bundle);
setResult(RESULT_OK, getIntent());
finish();
Und in ACTIVITYA durch folgenden Code Ergebnis zurück an ACTIVITYA senden, habe ich versucht, das Ergebnis in "onActivityResult" zu lesen.
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();
Problem: Ich bemerkte, dass, sobald Aktivität A wieder aufgenommen wird, "onActivityResult" wird nicht aufgerufen. Daher sehe ich keinen Dialog. Außerdem kann ich nicht überprüfen, ob SearchActivity tatsächlich etwas an ActivityA sendet.
Also Freunde, wie kann ich die von ActivityB gesendeten Daten erfassen.