2016-05-06 186 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