2017-02-13 47 views
0

我显示出与下面的代码BottomSheetDialogFragment:BottomSheetDialogFragment反复出现在的onResume

BottomSheetDialogFragment bottomSheetDialogFragment = new MediaAddFragment(); 
    bottomSheetDialogFragment.show(getActivity().getSupportFragmentManager(), bottomSheetDialogFragment.getTag()); 
    getActivity().getSupportFragmentManager().executePendingTransactions(); 
    bottomSheetDialogFragment.getDialog().setOnDismissListener(new DialogInterface.OnDismissListener() { 
     @Override 
     public void onDismiss(DialogInterface dialog) { 
      onResume(); 
      MainActivity.updateMediaButtons(); 
     } 
    }); 

要关闭它,我打电话解雇()从片段中。随着它,它被解雇,但再次显示,如果应用程序恢复,这不是我的意图。

如果有人能帮助我,我会很高兴。我已经扫描了关于如何正确使用这些BottomSheetDialogFragments的各种教程,但是我找不到我的错误。

顺便说一句,我没有任何代码在onResume来测试它。

+0

你在哪里调用这段代码? –

+0

我从另一个片段调用它,从onclicklistener – Battlestr1k3

回答

0

(发表于OP)

我发现我的错误,我覆盖了调用片段中BottomSheetDialogFragment的onDismissListener。现在它按预期工作。

bottomSheetDialogFragment2.getDialog().setOnDismissListener(new DialogInterface.OnDismissListener() { 
       @Override 
       public void onDismiss(DialogInterface dialog) { 
        // Adding the following line fixed the problem for me 
        bottomSheetDialogFragment2.onDismiss(dialog); 
        // some Code.... 
       } 
      });