对话片段在 30 次后无法打开 - 安卓



我在对话框片段中遇到了问题。打开对话框片段 30 次后,下一个对话片段会模糊屏幕,但没有内容。有解决方案吗??

这是父片段:

DialogFragment newFragment = new B3Fragment();
newFragment.show(getFragmentManager(), "");

这是我的onCreateDialog:

public Dialog onCreateDialog(Bundle savedInstanceState) {
    View view = getActivity().getLayoutInflater().inflate(R.layout.fragment_b3, new LinearLayout(getActivity()), false);
    // Build dialog
    Dialog builder = new Dialog(getActivity());
    builder.requestWindowFeature(Window.FEATURE_NO_TITLE);
    builder.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
    builder.setContentView(view);
    return builder;
}

谢谢。

您不是在创建对话框,您必须在返回对话框之前创建对话框。

public Dialog onCreateDialog(Bundle savedInstanceState) {
    View view = getActivity().getLayoutInflater().inflate(R.layout.fragment_b3, new LinearLayout(getActivity()), false);
    // Build dialog
    Dialog.Builder builder = new Dialog.Builder(getActivity());
    builder.requestWindowFeature(Window.FEATURE_NO_TITLE);
    builder.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
    builder.setContentView(view);
    return builder.create();
}

也许你应该使用 Dialog.Builder.create() 而不是 new Dialog() .

最新更新