で複数のカスタム ダイアログを管理していますLinkedList
。
表示された最初のダイアログは常にFLAG_DIM_BEHIND
設定されており、表示されている他のすべてのダイアログはFLAG_DIM_BEHIND
フラグからクリアされています。
私の問題は、ダイアログが firstDialog のFLAG_DIM_BEHIND
影響を受けないことです。firstDialog が最初に作成されるためだと思います。
次の方法を試しました。
=>を使用
firstDialog.getWindow().getDecorView().bringToFront()
しても機能しませんでしたすべてのダイアログをキャンセルし、
firstDialog
が最後に表示されたときに再表示します。しかし、ウィンドウをキャンセルすると、LinkedList から削除されました。すべてのダイアログを閉じて、
firstDialog
最後に表示されたときに再表示します。しかし、ダイアログは再表示されません。.... LinkedList<CustomDialog> dialogList = new LinkedList<CustomDialog>(); CustomDialog firstDialog = new CustomDialog(); firstDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); dialogList.add(firstDialog); CustomDialog temp; for(int i = 0; i < 3; i++) { temp = new CustomDialog(); temp.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); dialogList.add(temp); } for(CustomDialog itr : dialogList) { itr.show(); } ....
事前にどうもありがとうございました。