Android:自定义DialogFragment显示得很慢

dze*_*zep 5 android listview tablerow baseadapter android-dialogfragment

我有DialogFragment一个弹出窗口。其中DialogFragment包含一个ListView,并使用BaseAdapter具有custom的一个TableRow。我的问题是,大约需要2秒钟才能完全显示弹出窗口。有什么解决方案或建议,您可以给我更快地显示此弹出窗口。

更多详细信息:TableRow具有2个ImageView和3个自定义TextView。之所以进行BaseAdapter处理,是View因为它必须做一些事情,例如隐藏其他内容View,设置文本等。

任何帮助将不胜感激。谢谢!:D

Mis*_*pov 5

我对 DialogFragment 也有很多问题,在我们公司我们决定放弃它。主要问题是它需要一些时间来渗透并执行 Fragment 操作。但在它出现之前,用户可以与屏幕进行交互。例如,在弹出窗口出现之前多次按下按钮可能会导致意外行为,您必须在代码中考虑。

相反,使用普通对话框并设置内容视图 - 自定义布局和其他参数

    Dialog dialog = new Dialog(context);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.progress_dialog);
    dialog.setCancelable(false);

    Window window = dialog.getWindow();
    if (window != null) {
        window.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
    }

    dialog.show();
Run Code Online (Sandbox Code Playgroud)

它有助于避免与片段、片段事务、状态和许多其他相关的问题。