Last active
March 7, 2018 08:22
-
-
Save bluemyria/f5d200100e05451eb63118f94fcac0e3 to your computer and use it in GitHub Desktop.
Android - 007 - Intents / return Data
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
////////////////////////////////////////////////////////////////////////////////////////////// | |
// in MainActivity | |
////////////////////////////////////////////////////////////////////////////////////////////// | |
private void activityMitUebergabe() { | |
Intent myIntent = new Intent(this, Activity2withUebergabe.class); | |
myIntent.putExtra("Maria's Lieblingsnummer", 4); | |
myIntent.putExtra("Wochentag", "Donnerstag"); | |
startActivity(myIntent); | |
} | |
private void activityMitRueckgabe() { | |
Intent myIntent = new Intent(this, Activity3withRueckgabe.class); | |
// da von der aufgerufenen Activity Informationen zurueckerwartet werden | |
// MUSS der Aufruf mit der Methode " startActivityForResult" erfolgen | |
// Dies bewirkt dass nach der Rueckkehr in diese Activity die Methode | |
// "onActivityResult" aufgerufen ird. Damit dort unterschieden werden kann | |
// aus welcher Activity Daten geliefert werden, wird eine "Pseudo-ID" | |
// gesetzt. Dies ist dann der Request Code | |
startActivityForResult(myIntent, REQUESTCODE_ACT_MIT_RUECKGABE); | |
} | |
@Override | |
protected void onActivityResult(int requestCode, int resultCode, Intent data) { | |
super.onActivityResult(requestCode, resultCode, data); | |
if (resultCode == RESULT_OK) { | |
if (requestCode == REQUESTCODE_ACT_MIT_RUECKGABE) { | |
if(data.hasExtra("irgendein Rückgabewert")) { | |
Bundle myBundle = data.getExtras(); | |
tvMain.setText(myBundle.getString("irgendein Rückgabewert")); | |
} | |
} | |
} | |
} | |
////////////////////////////////////////////////////////////////////////////////////////////// | |
// Activity2withUebergabe | |
////////////////////////////////////////////////////////////////////////////////////////////// | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_2_with_uebergabe); | |
tvActWithUebergabe = findViewById(R.id.tvActWithUebergabe); | |
Intent intentMitDerDieseKlasseAufgerufenWurde = getIntent(); | |
Bundle bundle = intentMitDerDieseKlasseAufgerufenWurde.getExtras(); | |
int zahl = bundle.getInt("Maria's Lieblingsnummer"); | |
String heute = bundle.getString("Wochentag"); | |
tvActWithUebergabe.setText(heute + ", " + zahl); | |
} | |
////////////////////////////////////////////////////////////////////////////////////////////// | |
// Activity3withRueckgabe | |
////////////////////////////////////////////////////////////////////////////////////////////// | |
public void finish() { | |
// Es muss eine neue Intent erzeugt werden, die die Daten zur aufrufenden | |
// Activity "trägt". Diese Intent ist ein reiner Datenträger | |
Intent myIntent = new Intent(); | |
// Info zur Reucgabe festlegen | |
myIntent.putExtra("irgendein Rückgabewert",etRueckgabe.getText().toString()); | |
// der Intent mitgeben dass alles ok ist | |
setResult(RESULT_OK, myIntent); | |
super.finish(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment