J
jowu
Neues Mitglied
- 0
Hallo zusammen,
nach einer unergiebigen Google-Suche will ich hier mal hoffnungsvoll fragen, wie man einen Bestätigungsdialog so schreiben kann, daß man ihn als boolean-Methode verwenden kann.
In der Art:
private boolean bestaetigungsdialog( String sMessage );
Hintergrund ist, daß ich in einer Activity zum Anlegen von Bestellungen etliche "Zustände" habe wie Neuanlage, Bearbeiten, Anzeigen, Vorlage anlegen, Vorlage bearbeiten, Vorlage anzeigen etc. Angesichts der vielen Zustände will
ich die Übergänge zwischen den einzelnen Zuständen sauber als endlichen Automaten modellieren. Beim Klick auf einen
Button soll abhängig vom alten Zustand der neue Zustand abgeleitet werden, regelmäßig aber erst nach Klick auf "Ja" in einem Alert-Dialog. Bei den Beispielen aus dem Netz komme ich aus meinem sauberen switch-Muster heraus, weil es erst in der onClick-Methode des Dialogs weitergeht. Dort hatte ich auch eine Lösung gefunden, beim Klick im Alert-
Dialog eine globale Variable zu beschreiben, und diese auszuwerten. Funktioniert aber leider gar nicht, weil nicht synchron.
Vielleicht kennt jemand da eine best-practice?
nach einer unergiebigen Google-Suche will ich hier mal hoffnungsvoll fragen, wie man einen Bestätigungsdialog so schreiben kann, daß man ihn als boolean-Methode verwenden kann.
In der Art:
private boolean bestaetigungsdialog( String sMessage );
Hintergrund ist, daß ich in einer Activity zum Anlegen von Bestellungen etliche "Zustände" habe wie Neuanlage, Bearbeiten, Anzeigen, Vorlage anlegen, Vorlage bearbeiten, Vorlage anzeigen etc. Angesichts der vielen Zustände will
ich die Übergänge zwischen den einzelnen Zuständen sauber als endlichen Automaten modellieren. Beim Klick auf einen
Button soll abhängig vom alten Zustand der neue Zustand abgeleitet werden, regelmäßig aber erst nach Klick auf "Ja" in einem Alert-Dialog. Bei den Beispielen aus dem Netz komme ich aus meinem sauberen switch-Muster heraus, weil es erst in der onClick-Methode des Dialogs weitergeht. Dort hatte ich auch eine Lösung gefunden, beim Klick im Alert-
Dialog eine globale Variable zu beschreiben, und diese auszuwerten. Funktioniert aber leider gar nicht, weil nicht synchron.
Vielleicht kennt jemand da eine best-practice?
Code:
private class CancelButtonClicked implements View.OnClickListener
{
@Override
public void onClick(View v)
{
switch ( aktuellerModus )
{
case MODUS_ANZEIGEN:
{
finish();
}
break;
case MODUS_BEARBEITEN:
{
if ( !bestaetigungsdialog("Bearbeiten abbrechen?") )
{
return;
}
else
{
aktuellerModus = MODUS_ANZEIGEN;
}
break;
}
...