在自定义对话框中是否有ListvVew?

问题描述

如果未在代码调用showChatList()函数,并且对话框正常显示

通过listView函数调用showChatList()时,它不起作用。

转到原始自定义对话框

是否可以调出listView?

public void callFunction() {

    final Dialog dlg = new Dialog(context);

    dlg.setContentView(R.layout.room_list);

    dlg.show();

    final Button okButton = (Button) dlg.findViewById(R.id.okButton);
    final Button backbtn = (Button) dlg.findViewById(R.id.backbtn);

    **final ListView chat_list = (ListView) dlg.findViewById(R.di.chat_list);**

    - or

    **chat_list = dlg.findViewById(R.id.chat_list);**

    backbtn.setonClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            dlg.dismiss();
        }
    });

    okButton.setonClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            dlg.dismiss();
        }
    });

    showChatList();
}

enter image description here

解决方法

您的适配器取决于Firebase。 它将等待直到获得数据, 那我相信你需要打电话

    adapter.notifyDataSetChanged();

之后

    adapter.add();
,

处理诸如对话框之类的视图时,在调用dialog.show()之前加载对话框中所需的所有视图很重要。 另外,我建议在此示例中使用DialogFragmenthttps://blog.mindorks.com/implementing-dialog-fragment-in-androidDialogFragment允许您像其他任何片段一样管理对话框。

让我知道您可以使用哪一个。