DialogFragment не отображается после добавления окна оповещения
У меня есть функция, которая при запуске, успешно отображает DialogFragment со следующим кодом
DialogFragment
DialogFragment dialog;
View dialogView;
Context activityContext;
...
dialog = new DialogFragment(){
@Override public Dialog onCreateDialog(Bundle savedInstanceState) {
dialogView = getActivity().getLayoutInflater().inflate(R.layout.customView, null);
...
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(dialogView);
return builder.create();
}
};
dialog.show(activityContext.getSupportFragmentManager() , "MyDialog");
Проблема в том, что после добавления окна System Alert со следующим кодом, DialogFragment больше не отображается, НО, если я перехожу к другому приложению, когда мое приложение сворачивается, я вижу DialogFragment, хотя он уменьшает его размер
Окно системного оповещения
WindowManager mWindowManager;
WindowManager.LayoutParams params;
...
mWindowManager = (WindowManager)activityContext.getSystemService(Context.WINDOW_SERVICE);
params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT
}
params.gravity = Gravity.CENTER_VERTICAL | Gravity.RIGHT;
addView(((LayoutInflater)activityContext.getSystemService("layout_inflater")).inflate(R.layout.floatingBotton, null));
Итак... Почему я не вижу свое диалоговое окно вверху (насколько я понимаю, диалоговое окно отображается) Почему это происходит только при отображении окна предупреждения системы
Я пробовал с другими флагами для окна System Alert, но у меня та же проблема с теми, которые я пробовал
2 ответа
FragmentManager fmg1=this.getChildFragmentManager();
//or
FragmentManager fmg1=this.getFragmentManager();
dialog.show(fmg1 , "MyDialog");
Пожалуйста, попробуйте это может быть полезно
Задайте группу представлений inflate и установите attach to root в true
http://developer.android.com/reference/android/view/LayoutInflater.html
addView(((LayoutInflater)activityContext.getSystemService("layout_inflater")).inflate(R.layout.floatingBotton, null));