2016-05-06 373 views
0

我試圖創建一個透明的對話框活動,當我收到一些notice.The對話框活動有一個OK按鈕,如果我點擊它將返回到主要活動與標誌:Intent.FLAG_ACTIVITY_CLEAR_TOP和Intent.FLAG_ACTIVITY_SINGLE_TOP。Android:從透明對話框活動回到主要活動,屏幕變黑?

問題 當我回到主,屏幕變黑約一秒鐘,我想知道如何解決它。謝謝你的幫助。

我的對話活動的主題是:

<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對話框的按鈕:

@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

您可能需要在打開對話框的位置共享代碼。 –

回答

0

您可以使用startActivityForResult(resultIntent,requestCode);

@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

它不能解決我的問題。無論如何謝謝。 – melody