Android: StartActivityForresult erhält immer einen Ergebnis von 0? [abgeschlossen
-
20-09-2019 - |
Frage
Wenn ich den Anruf verwende, wird das Ergebnis immer als 0 zurückgegeben. Weiß jemand, welchen Fehler ich machen könnte?
Rufaktivität:
Intent i = new Intent(this, Selection.class);
Log.d("Front-End", "Launching Activity");
startActivityForResult(i, SELECTION);
Aufgerufene Aktivität:
bundle.putStringArray("selections", selected_array);
Intent resultIntent = new Intent();
resultIntent.putExtras(bundle);
setResult(RESULT_OK, resultIntent);
finish();
Irgendwelche Vorschläge? Wenn ich den Call (Finish ()) eingeheft, gibt er mir Folgendes:
W/ActivityManager( 1030): Duplicate finish request for HistoryRecord{44802c90 com.android.TVitter/.Selection}
Lösung
Ok, flamme mich jetzt nicht an. Ich habe zwei Stunden gebraucht, um dies zu debuggen :( Ich schriftlich es einfach auf, damit andere diesen dummen Fehler nicht machen. Ich musste eine "OK" -Taste einstellen und dann das Ereignis verarbeiten, anstatt den Benutzer die Schaltfläche "zurück" drücken zu lassen Am Telefon. Es war eine offensichtliche Sache, aber aus irgendeinem Grund habe ich es verpasst ...
Andere Tipps
Sie können auch implementieren Activity.onBackPressed()
Wenn Sie einige spezifische Daten aus der Aktivität zurückgeben möchten, wenn die Rücktaste gedrückt wird. Es sieht so aus, als wäre das nur mit 2.0 erhältlich.