2016-04-15 16 views
1

私のフラグメントはCMYJsonHttpResponseHandlerを持つBaseFragmentを継承しています。ハンドラがエラー番号-622を返した場合ベースフラグメントはダイアログを起動します。同じアクティビティの と私の2つの断片。ダイアログが2回作成されます。しかし、私はその活動の中で一度クレートしたいです。アクティビティコードは、このようなものです:同じアクティビティの2つのフラグメント

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

私は試みましたが、それは動作しません。 –

関連する問題