Ich bin ein ziemlich Neuling mit Android-Programmierung.Aktivität A, die B startet, die C startet. Warum drücken Sie die Zurück-Taste in C zurück zu A?
Ich habe eine MainActivity von dem ich ein SecondActivity starten:
[...]
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("mode", eTravelEditMode.Create);
startActivityForResult(intent, MainActivity.REQUEST_CREATE);
[...]
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == MainActivity.REQUEST_CREATE) {
}
}
Im SecondActivity, beginne ich eine ThirdActivity:
[...]
Intent intent = new Intent(SecondActivity.this, ThirdActivity.class);
startActivityForResult(intent, SecondActivity.REQUEST_SELECT);
[...]
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//this method is never called
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SecondActivity.REQUEST_SELECT) {
[...]
}
Im ThirdActivity:
@Override
public void onBackPressed() {
Intent intent = new Intent();
//intent.putExtra("returnValue", (Serializable) mAdapter.getSelectedValues());
setResult(SecondActivity.RETURN_SELECT, intent);
super.onBackPressed();
this.finish();
}
Aus ThirdActivity Ich möchte einen Wert an seine Eltern SecondActivity zurückgeben, wenn ich die Zurück-Taste drücke. Aber dann wird das SecondActivity.onActivityResult nie aufgerufen. Das MainActivity.onActivityResult wird aufgerufen.
Irgendwelche Ideen über was falsch ist?
Kannst du 'finish()' irgendwo in deiner SecondActivity nennen? – Vucko
Die zweite Aktivität wird irgendwo zerstört. – user3765370
@vucko: Es gibt keine Ende() Anruf in der zweiten Aktivität – kevinob