2016-05-06 17 views
0

Ich versuche, eine transparente Dialogaktivität zu erstellen, wenn ich eine Notiz erhalte. Die Dialogaktivität hat eine OK-Schaltfläche, und wenn ich auf diese klicke, wird sie zurück zur Hauptaktivität mit dem Flag: Intent.FLAG_ACTIVITY_CLEAR_TOP und Intent.FLAG_ACTIVITY_SINGLE_TOP.Android: zurück zu Hauptaktivität aus transparenter Dialogaktivität, Bildschirm wird schwarz?

Problem Als ich zur Haupt zurück, schaltet sich der Bildschirm für etwa eine Sekunde schwarz, und ich möchte wissen, wie es zu beheben. Danke für Ihre Hilfe.

das Thema meiner Dialog Aktivität:

<style name="MyDialogStyle"> 
    <item name="android:windowBackground">@android:color/transparent</item> 
    <item name="android:windowFrame">@null</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:windowIsTranslucent">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> 
    <item name="android:backgroundDimEnabled">true</item> 
</style> 

OnClickListener der Schaltfläche des Dialogs:

@Override 
    public void onClick(View v) { 
      finish(); 
      Intent resultIntent = new Intent(DialogActivity.this, 
        MainActivity.class); 
      resultIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP 
        | Intent.FLAG_ACTIVITY_SINGLE_TOP 
        ); 
      DialogActivity.this.startActivity(resultIntent); 
    } 
+0

müssen Sie möglicherweise den Code teilen, wo Sie auch die Dialogaktivität öffnen. –

Antwort

0

Sie startActivityForResult (resultIntent, requestCode) verwenden können;

@Override 
public void onClick(View v) { 
     finish(); 
     Intent resultIntent = new Intent(DialogActivity.this, 
       MainActivity.class); 
     resultIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP 
       | Intent.FLAG_ACTIVITY_SINGLE_TOP 
       ); 
     DialogActivity.this.startActivity(resultIntent,requestCode); 
} 


@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if(requestCode==requestCode) 
    { 
     finish(); 
    } 
} 
+0

Es löst mein Problem nicht. Danke trotzdem. – melody

Verwandte Themen