1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Fehler in AlertDialog an User melden.

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von muck, 12.02.2011.

  1. muck, 12.02.2011 #1
    muck

    muck Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    62
    Erhaltene Danke:
    7
    Registriert seit:
    07.11.2010
    Ich rufe aus dem Optionsmenü einen CreateDialog() auf:
    Code:
    ...
    CreateDialog();
    alert.show();
    ...
    
    In CreateDialog() erstelle ich einen AlertDialog, der dann anschleißend mit alert.show(); angezeigt wird.
    Code:
    public void CreateDialog () {
      final AlertDialog.Builder builder = new AlertDialog.Builder(this);
      final EditText inputBox = new EditText(this);
      builder.setTitle(getString(R.string.txt_addList));
      builder.setView(inputBox);
     
      builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int buttonID) {
        [COLOR=red]try {[/COLOR]
    [COLOR=red] dbConn.execSQL("INSERT INTO shoppinglists (name) VALUES ('" + inputBox.getText().toString().trim() + "')");[/COLOR]
    [COLOR=red] listView = showShoppingLists();[/COLOR]
    [COLOR=red]} [/COLOR]
    [COLOR=red]catch (SQLException e) {[/COLOR]
    [COLOR=red]    String test = e.getMessage();[/COLOR]
    [COLOR=red]    System.out.println(test);[/COLOR]
    [COLOR=red]}[/COLOR]
       }
      });
     
      builder.setNegativeButton(getString(R.string.txt_cancelButton), new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int buttonID) {
        dialog.cancel();
       }
      });
     
      alert = builder.create();
    }
    
    Nun zu meinem Problem: (rote Markiert)
    Wenn das INSERT in die Datenbank fehlschlägt, würde ich das dem User gerne mitteilen. Ich habe nur im Moment überhaupt keine Idee wie ich das machen soll.

    Über einen Tipp zum Lösungsansatz wäre ich dankbar.

    Gruß
     
  2. FireRider, 13.02.2011 #2
    FireRider

    FireRider Junior Mitglied

    Beiträge:
    38
    Erhaltene Danke:
    6
    Registriert seit:
    27.09.2010
    Vielleicht mit einem Toast?
     
  3. muck, 13.02.2011 #3
    muck

    muck Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    62
    Erhaltene Danke:
    7
    Registriert seit:
    07.11.2010
    Nein, das geht innerhalb des Dialoges nicht.
     
  4. swordi, 13.02.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    warum soll das nicht gehen?
     
  5. Fr4gg0r, 13.02.2011 #5
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    Du kannst natürlich auch unterhalb des EditTextes noch ein TextFeld einbauen, in dem du Feedback reinschreibst..
     
  6. klausa2, 13.02.2011 #6
    klausa2

    klausa2 Fortgeschrittenes Mitglied

    Beiträge:
    298
    Erhaltene Danke:
    20
    Registriert seit:
    08.07.2009
    Du kannst durchaus innerhalb des Dialogs einen Alert anzeigen. Aber: Wenn der User den bestätigt, z.B. mit OK, dann werden automatisch beide Dialoge geschlossen.
     
  7. muck, 13.02.2011 #7
    muck

    muck Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    62
    Erhaltene Danke:
    7
    Registriert seit:
    07.11.2010
    @swordi
    Wenn ich im catch einen Toast aufrufen will kommt ne FM.

    @klausa2
    Daran hatte ich schonmal gedacht. Wenn allerdings beide Dialoge geschlossen werden, kann ich auch im catch ein flag setzen, dann geht der Dialog zu, ich werte das flag aus, bring ne Meldung und rufe den Dialog mit der vorherigen Eingabe wieder auf.

    oder
    @Fr4gg0r
    Mal testen ob das "auffällig" genug ist. Darauf bin ich noch gar nicht gekommen :D

    Dankschöön an alle.
     
  8. garak, 14.02.2011 #8
    garak

    garak Ehrenmitglied

    Beiträge:
    8,270
    Erhaltene Danke:
    4,795
    Registriert seit:
    12.12.2009
    Du kannst dir doch auch deinen eigenen Fehler-Dialog bauen:

    Code:
    import android.app.Activity;
    import android.app.AlertDialog;
    
    public class ErrorDialog {
    
      public ErrorDialog(Activity owner, String message, DialogListener listener) {
        AlertDialog dialog = new AlertDialog.Builder(owner).create();
        dialog.setIcon(R.drawable.error);
        dialog.setTitle(R.string.error);
        dialog.setMessage(message);
    
        dialog.setButton(AlertDialog.BUTTON_POSITIVE, owner.getString(R.string.ok), listener);
    
        dialog.show();
    
      }
    
    }
    Damit habe ich so meine Standard-Dialoge geschaffen.
     
  9. muck, 14.02.2011 #9
    muck

    muck Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    62
    Erhaltene Danke:
    7
    Registriert seit:
    07.11.2010
    So, hab ne Lösung gefunden. Ist zwar ein bisschen aufwändiger aber man hat alles im "Griff" :thumbsup:

    Hab ein neues Activity erstellt und mit
    android:theme="@android:style/Theme.Dialog">
    sieht es dem Dialog schonmal sehr ähnlich.
    Inputbox, Textfeld und zwei Buttons rein, Code drum rum, noch ein bischen aufhüpschen und fertig.
     

Diese Seite empfehlen