Android ListView为空时制作Toast

Android ListView为空时制作Toast,android,listview,toast,Android,Listview,Toast,当我的listview为空时,我想显示一个Toast,我尝试了这个方法,但不起作用,我不明白为什么: if (listView == null) { Toast.makeText(this, "No slots selected", Toast.LENGTH_LONG).show(); } 我知道Toast是如何工作的,但我的问题是检测listview何时为空 有人能帮我一下吗?您需要检查附加到ListView的列表的大小 假设列表是附加

当我的listview为空时,我想显示一个Toast,我尝试了这个方法,但不起作用,我不明白为什么:

if (listView == null) {
        Toast.makeText(this, "No slots selected",
                Toast.LENGTH_LONG).show();
    }
我知道Toast是如何工作的,但我的问题是检测listview何时为空


有人能帮我一下吗?

您需要检查附加到ListView的列表的大小

假设列表是附加到ListView的ArrayList

if(list.size()==0)
{
//Perform Action
}

你也可以用这个

if(list!=null && !list.isEmpty())
{
     //Show Listview
} else {
     //Show Toast (List Empty)
}
您应该记录连接到listview的适配器的计数,而不是listview。

试试类似的方法

if(listViewAdapter.getItemCount.size()==0){
    // Toast Message
}else{
    // Populate your data
}

您应该跟踪附加到listview的列表的计数,而不是listview


您需要检查附加到ListView的列表(通过适配器)。 创建列表时,不能通过
==null
进行检查,因为变量已创建

而是检查列表大小,如下所示:

adapter.getCount() == 0

ListView为空表示适配器为空,这表示数据为null或空。检查适配器大小或数据,而不是
listview==null
Ok很酷,我不理解这种方式,非常感谢,它与您的方法配合使用@simonvancoillie因为List是一个特例:),我上次在List和ArrayList上犯了同样的错误:)谢谢你的回答,我终于找到了方法,但我会在适配器上告诉你更多,因为我不知道关于它的很多事情(甚至什么都不知道),我试过了,但android studio“无法解决isEmpty”,谢谢你的回答,最后,我成功地使用了“listView.getCount()==0”isEmpty()仅用于ArrayList。如果您有字符串数组,则可以使用list.length>0。对于您的伴侣,android“无法解析大小()”,但感谢您的回答
adapter.getCount() == 0
if(listView.getCount() == 0 )
    Toast.makeText(dd.this, "The list is empty", Toast.LENGTH_SHORT).show();