2016-07-29 12 views
1

Ich habe das BaseActivity-Muster in meiner App implementiert und alles funktioniert gut, außer beim Versuch, ein Alert-Dialogfeld anzuzeigen. Dies ist, wasAndroid Alert Dialogfeld leeren weißen backgroun

enter image description here

passiert, wenn ich versuche, um das Dialogfeld abzubrechen ich mit diesem bin links.

enter image description here

Hier ist der Code für das Dialogfeld zeigt, das in der Basisaktivität befindet:

new AlertDialog.Builder(this) 
       .setTitle("Logging out") 
       .setMessage("Are you sure?") 
       .setPositiveButton("Yes", new 

    DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, int which) { 
          UIUtils.setAnimation(swipeRefreshLayout, true); 
          UserBaas.logoutUser(); 

         } 
        }) 
        .setNegativeButton("No", null) 
        .show(); 

Dieses Problem ist persistent in einem Emulator und auf einem Gerät. Was könnte das Problem sein?

switch (item) { 
      case NAVDRAWER_ITEM_HOME: 
       startActivity(new Intent(this, MainActivity.class)); 
       break; 
      case NAVDRAWER_ITEM_MEMOS: 
       intent = new Intent(this, MemoGroupActivity.class); 
       intent.putExtra("section", MemoGroupActivity.MEMO); 
       createBackStack(intent); 
       break; 
      case NAVDRAWER_ITEM_GROUPS: 
       intent = new Intent(this, MemoGroupActivity.class); 
       intent.putExtra("section", MemoGroupActivity.GROUP); 
       createBackStack(intent); 
       break; 
      case NAVDRAWER_ITEM_CONNECTIONS: 
       createBackStack(new Intent(this, ConnectionsActivity.class)); 
       break; 
      case NAVDRAWER_ITEM_DOCUMENTS: 
       createBackStack(new Intent(this, DocumentsActivity.class)); 
       break; 
      case NAVDRAWER_ITEM_SETTINGS: 
       createBackStack(new Intent(this, SettingsActivity.class)); 
       break; 
      case NAVDRAWER_ITEM_LOGOUT: 
       showLogoutDialog(); 
       break; 
     } 

Und heres den Code für UIUtils.setAnimation()

public static void setAnimation(SwipeRefreshLayout swipeRefreshLayout, boolean value) { 
     swipeRefreshLayout.setEnabled(value); 
     swipeRefreshLayout.setRefreshing(value); 
    } 
+0

so Ihr Problem ist UserBaas.logoutUser() .: nicht aufgerufen? –

+0

nein das Problem ist, dass der Hintergrund leer ist und es sagt leer, auch nachdem der Dialog verschwindet. – Michael

+0

versuchen Sie einmal in derselben Aktivität, anstatt BaseActivity zu verwenden. –

Antwort

0

denke ich Parameter Context, können Sie dies ändern ==> activity.This (Aktivität ist der Name der Aktivitätsklasse, die Sie möchten, Show-Dialog)

+0

, die nicht funktioniert – Michael

0

Versuchen Sie folgendes:

.setNegativeButton(Cancel, new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int id) { 
     finish(); 
    }); 
+0

das hat auch nicht funktioniert – Michael

0

Try this:

AlertDialog.Builder b = new AlertDialog.Builder(Your_Activity_Name.this); 
     b.setTitle("Logging out"); 
     b.setMessage("Are you sure?"); 

     b.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       // do something 
      } 
     }); 

     b.setNegativeButton("No", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       dialog.cancel(); 
      } 
     }); 
     b.create().show(); 
+0

das funktioniert auch nicht. Ich glaube nicht, dass das Problem der Dialog ist, sondern eher, wie das ganze UI davon betroffen ist. – Michael

+0

Könnten Sie bitte Ihren vollständigen Code posten, um zu sehen, was passiert ist? –

+0

Ich habe wie gewünscht – Michael

0

Versuchen Sie, wie diese

.setNegativeButton(Cancel, new DialogInterface.OnClickListener() { 
public void onClick(DialogInterface dialog, int id) { 
    dialog.dismiss(); 
});