Ich zeige ein Dialogfeld, wo der Benutzer einen String-Wert in einem Editiertext eingeben kann und ich möchte diesen Wert in einer Textansicht im Hauptlayout anzeigen, nachdem das Dialogfeld geschlossen ist. Wenn der Benutzer auf die Schaltfläche "Ok" des Dialogfelds klickt, wird die Textansicht gut aktualisiert, aber ich habe versucht, das Gleiche über den Ablehnungslistener im Dialogfeld zu tun, aber ich weiß, dass der Rest des Codes ausgeführt wird. Ich habe versucht, es auf dem Hauptfaden laufen zu lassen, aber es hat das Problem nicht gelöst. Hier ist der Code, danke für deine Hilfe.Android - Update TextView auf Dialog Dimiss Listener
final Dialog dialogStatus = new Dialog(Activity.this);
dialogStatus.setContentView(R.layout.dialog_layout);
Button Bok = (Button) dialogStatus.findViewById(R.id.bt_dialog_ok);
final EditText ETname = (EditText) dialogStatus.findViewById(R.id.et_dialog);
Bok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
update(String.valueOf(ETname.getText()));
dialogStatus.dismiss();
}
});
dialogStatus.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
// TODO Auto-generated method stub
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
update(String.valueOf(ETname.getText()));
}
});
}
});
dialogStatus.show();
}
public void update(String etValue){
final SharedPreferences sharedPrefUnit = getSharedPreferences(SHARED_PREFS, 0);
SharedPreferences.Editor settings = getSharedPreferences(SHARED_PREFS, MODE_PRIVATE).edit();
settings.putString(STRING_VALUE, etValue);
TextView.setText(sharedPrefUnitScore.getString(STRING_VALUE, etValue, ""));
settings.commit();
}
Es funktioniert! Danke, obwohl ich nicht verstehe warum. – tienow
Bitte geben Sie mir grünes Häkchen, wenn es funktioniert hat. Danke ... :) – Shubham
Danke Es hilft mir wirklich – Shubham