Kann jemand freundlicherweise auflisten, welche Werte von mit startActivityForResult()
und deren Zweck übergeben werden? Kannst du auch auf die verfügbaren setResult
Parameter wie RESULT_OK
erklären und was gibt es sonst noch? Freundlich helfen.Arten von RequestCode für startActivityforResult
Antwort
Wenn Sie eine Aktivität für Ergebnis mit requestCode >= 0
starten, wird dieser Code onActivityResult()
, wenn die zweite Aktivität auf die erste Aktivität des zurückgeführt werden wird finished.You mehrere Activity
für Ergebnis von Ihrem Activity
beginnen. In jedem Fall erhalten Sie den Rückruf an startActivityForResult()
Methode, die den RequestCode übergeben. In onActivityResult()
können wir den requestCode verwenden, um herauszufinden, für welche Aktivität wir den Rückruf erhalten haben. Um die Callbacks von Activities
zu unterscheiden, verwenden wir verschiedene requestCodes.
Für zB:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent i = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(i, 1);
Intent i = new Intent(FirstActivity.this, ThirdActivity.class);
startActivityForResult(i, 2);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
//Get the result from SecondActivity
}
}
else if (requestCode == 2) {
if (resultCode == RESULT_OK) {
//Get the result from ThirdActivity
}
}
}
Sie können, was Sie in requestCode
setzen wollen, ist es für Sie zu wissen, welche spezifischen Informationen, die Sie erwarten nach dem Start mit dem angegebenen requestCode
die Activity
zurück zu kommen. Die Activity
, die aufgerufen wird, sollte setResult(RESULT_OK)
aufrufen, wenn es die Informationen an vorherige Activity
übergeben hat, um zu überprüfen, dass dies die richtigen Daten sind, und alles ging gut.
Die requestCode
liegt bei Ihnen. Es wird Ihnen helfen zu erkennen, welche Activity
in Ihrer onActivityResult()
Methode abgeschlossen ist. Auch die Ergebnisparameter liegen mehr oder weniger bei Ihnen, solange Sie nur mit Ihren eigenen Aktivitäten arbeiten. Sie können es sich als Rückgabewert der aufgerufenen Aktivität für den Aufrufer vorstellen.
Die requestCode
in startActivityForResult()
wird verwendet, um eine ID zur Anfrage zuzuweisen, so dass Anfrage mit diesem Code in onActivityResult()
identifiziert werden kann. Wie, wenn jemand Codes geschrieben hat zwei Aktivitäten in einer Aktivität B und C zu starten, indem Sie folgenden Code
startActivityForResult(new Intent(A.this, B.class), 1);
startActivityForResult(new Intent(A.this, C.class), 2);
jetzt in onActivityResult()
können Sie erkennen, welches Activity
Ergebnis zurückgegeben hat.
Die setResult()
Methode wird verwendet, um eine Intent
in Ergebnis und eine resultCode
zu setzen. Durch resultCode
sagen wir onActivityResult()
, dass das Ergebnis in Ordnung oder abgebrochen ist. in der Intent
wir setzen in Ergebnis, kann verwendet werden, um einige Daten zu übergeben, durch intent.putExtra()
Methoden.
- 1. requestCode-Parameter in startActivityForResult
- 2. Unterschied zwischen startActivityForResult von Fragment und startActivityForResult von Aktivität
- 3. requestCode für onActivityResult Android
- 4. Analog von startActivityForResult für Service
- 5. startActivityForResult innen startActivityForResult
- 6. finishActivity (int RequestCode) funktioniert nicht
- 7. ResultCode und RequestCode funktionieren nicht
- 8. startActivityForResult funktioniert nicht in Fragmente
- 9. Android Programmflusskontrolle in Anwesenheit von startActivityForResult Anruf
- 10. startActivityForResult Nutzung für mehrere Aktivitäten
- 11. Anruf individuelle Aktivität als startActivityForResult
- 12. Verwenden von startActivityForResult zum Hinzufügen von Daten zur Liste
- 13. Wie bekomme ich startActivityForResult für externe Aktivitäten?
- 14. Android getSharedPreferences startActivityForResult intermittierende Fehler
- 15. Android - Wie StartActivityForResult() in den Tabs
- 16. Wurde requestCode in PendingIntent immer unterstützt?
- 17. DB-Design für mehrere Arten von Entitäten
- 18. Andere Arten von Skriptsprachen für das Web?
- 19. SQL LISTAGG für verschiedene Arten von Werten
- 20. Regex für mehrere Arten von OS-Logs
- 21. Column = „TEXT“ für alle Arten von Datenbanken
- 22. Verschiedene Arten von Iteratoren
- 23. Online-Quellen für XAML Arten
- 24. startActivityForResult funktioniert nicht richtig mit launchMode singleInstance
- 25. Verwenden Sie StartActivityForResult von Nicht-Aktivität
- 26. Wie startActivityForResult von statischen Methode aufrufen?
- 27. Rückgabe von StartActivityForResult Öffnen der gleichen Aktivität
- 28. können wir startActivityForResult von Adapter aufrufen?
- 29. Warum oncreate-Methode nach startActivityForResult aufgerufen?
- 30. Wie benutzt man `startActivityForResult`, um verschiedene Aktivitäten zu starten?