Nach dem Schließen der Activity wird das wohl nicht mehr gehen ;-)
Du hast z.B. einen Button in Deinem Layout:
1<Button
2 android:id="@+id/b_ok"
3 android:text="@android:string/ok"
4 android:layout_width="fill_parent"
5 android:layout_height="wrap_content"
6 android:onClick="onClickOk" />
Wenn der Benutzer dann auf Ok klickt könntest Du das wie folgt verarbeiten:
1public void onClickOk(View view) {
2 EditText editText = (EditText) findViewById(R.id.deineEditTextId);
3 String string = editText.getText().toString()
4 // ...
5 setResult(RESULT_OK);
6 finish();
7}
Nun ist die Activity weg. Das RESULT_OK kannst Du dann wiederum in der aufrufenden Activity in onActivityResult prüfen:
1protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
2 if (requestCode == deineAufrufIdAusDemStartActivityForResultAufruf) {
3 if (resultCode == RESULT_OK) {
4 // ...
5 }
6 }
7}
Wie Du siehst schreibe ich immer Activity statt Dialog. Ich verwende nämlich immer Activities und Dialoge reduziere ich auf kleinere Anzeigen. Ich würde auch eine Custom Activity für etwas komplexere Layouts verwenden und keinen Custom Dialog. Aber das ist halt Geschmackssache. Der obige Code setzt voraus das Du die Activity mit startActivityForResult aufgerufen hast. Es gibt noch weitere Möglichkeiten aber so mach ich es immer.
Gruß
Harald
— geändert am 16.11.2010, 14:06:53
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.