Ich rufe activityB von activityA an und übergebe ein Klassenobjekt mit intent.Android - So senden Sie Daten zurück an die aufrufende Aktivität
Intent intentB = new Intent(v.getContext(), activityB.class);
intentB.putExtra("data", data); //data is a class object
startActivity(intentB);
Die activityB beginnt gut und auch ich kann Daten extrahieren. In activityB modifiziere ich das Datenobjekt. Ich möchte dieses geänderte Datenobjekt zurück an activityA senden, wenn activityB.onDestroy() aufgerufen wird.
Irgendwelche Ratschläge?
Hier ist mein Code:
ACTIVITYA, ab der Intent
:
Intent i = new Intent(this, activityB.class);
i.putExtra("object", Class.object);
startActivityForResult(i, 1);
ACTIVITYA, fangen die Absicht:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
object = data.getParcelableExtra("object"); //the Class implements Parcelable
}
}
ACTIVITYB
protected void onDestroy() {
Intent data = new Intent();
setResult(RESULT_OK, data)
finish(); // ends current activity
}
ich ehrlich denke, du bist besser, nur eine Schnittstelle haben - es ist sehr einfach https://developer.android.com/ training/basics/fragments/communication.html – Fattie