我的片段扩展了BaseFragment,其中包含CMYJsonHttpResponseHandler。如果处理程序返回错误号-622。 basefragment将启动一个对话框。 和我的两个片段在同一个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)
使用共享首选项来记住是否显示对话框。
答案 1 :(得分:0)
尝试使用以下代码。
private Dialog dialog = null;
private void showDialog()
{
if(dialog!=null && dialog.isShowing())
return;
/** Here create dialog */
}