对话框中的列表视图不显示任何内容

listview in dialougbox shows nothing

我有这段代码可以在 listviewdialogbox 框架中显示 listview,但其中没有任何文本(我的背景颜色为 listview

 public void shw(View view)
    {

        Dialog dialog=new Dialog(MainActivity.this);
        dialog.setTitle("Dialog Title");
        dialog.setContentView(R.layout.custadd);
        LayoutInflater inflater = getLayoutInflater();
        View convertView = (View) inflater.inflate(R.layout.custadd,null);
        ListView lv=(ListView) convertView.findViewById(R.id.listv);
        String s1[]={"sunday","monday","tuesday"};
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
                this,
                R.layout.simple_list_item, s1 );
        lv.setAdapter(arrayAdapter);
        dialog.show();

    }

是的,因为您显示的视图 ListView 不是您为 Dialog 设置的视图。您应该按如下方式修复:

Dialog dialog=new Dialog(MainActivity.this);
dialog.setTitle("Dialog Title");
LayoutInflater inflater = getLayoutInflater();
View convertView = (View) inflater.inflate(R.layout.custadd,null    );
dialog.setContentView(convertView); // set convertView as content view. 
// you can find listview and then fill data here

试试这个

public void shw(View view) {

    Dialog dialog=new Dialog(MainActivity.this);
    dialog.setTitle("Dialog Title");     
    dialog.setContentView(R.layout.custadd);    
    ListView lv=(ListView) dialog.findViewById(R.id.listv);    
    String s1[]={"sunday","monday","tuesday"};

     ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
            this,
            android.R.layout.simple_list_item_1, s1 );
    lv.setAdapter(arrayAdapter);
    dialog.show();

}

删除 dialog.setContentView(R.layout.custadd); 并设置对话框在膨胀时的视图 dialog.setContentView(convertView); 问题将得到解决。