2016-04-15 153 views
1

我的片段扩展了其中包含CMYJsonHttpResponseHandler的BaseFragment。如果处理程序返回错误号码-622。基础片段将启动一个对话框。 和我的两个片段在同一个Activity中。所以对话框会创建两次。但我想在活动中创造一次。活动代码是这样的:同一活动中的两个片段

CMYGoodsListFragment commodityFragment = new CMYGoodsListFragment(this); 
     Bundle commodityBundle = new Bundle(); 
     commodityBundle.putString(KEY_INTENT_ID, "1"); 
     commodityFragment.setArguments(commodityBundle); 
     fragments.add(commodityFragment); 

     CMYGoodsListFragment serviceFragment = new CMYGoodsListFragment(this); 
     Bundle serviceBundle = new Bundle(); 
     serviceBundle.putString(KEY_INTENT_ID, "2"); 
     serviceFragment.setArguments(serviceBundle); 
     fragments.add(serviceFragment); 
+0

请分享你的代码从哪里调用对话框? –

+0

如何判断对话框已经存在 –

+0

我们有方法alert.isShowing(); –

回答

0

使用共享偏好来记住是否显示对话框。

+0

其他活动也会对话。如果记得对话。它只会在应用程序中创建一次。我想对吗? –

+0

您可以附上显示对话框的标签,并且可以在每次对话框显示 –

0

请尝试使用以下代码。

private Dialog dialog = null; 

    private void showDialog() 
    { 
      if(dialog!=null && dialog.isShowing()) 
       return; 
      /** Here create dialog */ 
    } 
+0

thx时以这种方式解除对话框的情况下重置首选项。我会尝试 –

+0

我试过了,但它不起作用。 –