Android 当RecyclerView为空时,如何显示空消息?

Android 当RecyclerView为空时,如何显示空消息?,android,firebase-realtime-database,android-recyclerview,Android,Firebase Realtime Database,Android Recyclerview,我正在从Firebase加载一些内容,并使用Firebase回收适配器 这是成功显示Firebase数据的函数: 以下是UI代码: 即使Firebase数据库中存在项目,空图像占位符也始终可见。如何修复它 每次我得到E/物品计数:0时,即使Firebase数据库中有物品 可能您只是在更改空视图的可见性(您正在使用它通知用户),而没有隐藏其他视图。就像您有回收器视图一样,您需要隐藏该视图并查看空消息,否则消息视图可能位于回收器视图后面,因此不可见 解决方案 隐藏该特定屏幕上的其他视图 pr

我正在从
Firebase
加载一些内容,并使用
Firebase回收适配器

这是成功显示Firebase数据的函数:

以下是UI代码:


即使Firebase数据库中存在项目,空图像占位符也始终可见。如何修复它

每次我得到
E/物品计数:0
时,即使Firebase数据库中有物品


可能您只是在更改空视图的可见性(您正在使用它通知用户),而没有隐藏其他视图。就像您有回收器视图一样,您需要隐藏该视图并查看空消息,否则消息视图可能位于回收器视图后面,因此不可见

解决方案 隐藏该特定屏幕上的其他视图

 private void checkEmpty() {
if (notificationAdaper.getItemCount() == 0) {
    Log.e("Item count", String.valueOf(notificationAdaper.getItemCount()));
    no_notif.setVisibility(View.VISIBLE);
   notifRecyclerView.setVisibility(View.GONE);

} else {
    no_notif.setVisibility(View.GONE);
   notifRecyclerView.setVisibility(View.VISIBLE);
}
}


注意:
notifRecyclerView
是回收者视图的id。。。。。。我把它作为参考。。。。。如果您在文件中用另一个名称声明了recycler view,则使用该名称代替notifRecyclerView

您可以使用此方法获取recycler view计数


recyclerView.getAdapter().getItemCount()

要获得更具体的答案,我们需要看到您添加了ui代码,请查看@KamalNayanCheck答案。。。。。我已经更新了,我不明白,为什么我要隐藏其他视图,当没有数据/项目时,RecyclerView本身隐藏了它自己隐藏的内容?很抱歉打扰您,先生,但是您的回答没有解释任何内容,请添加一些代码示例。它也在屏幕上,但没有数据,因此您无法识别它。没问题,Sainita。。。。。。你不介意,我们是来帮你的…请随便问
    private void checkEmpty() {
    if (notificationAdaper.getItemCount() == 0) {
        Log.e("Item count", String.valueOf(notificationAdaper.getItemCount()));
        no_notif.setVisibility(View.VISIBLE);
    } else {
        no_notif.setVisibility(View.GONE);
    }
}
    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    tools:context="com.devapps.NotificationActivity">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        app:theme="@style/ToolbarTheme">


        <TextView
            android:id="@+id/toolbarTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:maxLines="1"
            android:text="Notifications"
            android:textColor="@android:color/white"
            android:textSize="18sp"
            android:textStyle="bold"
            android:visibility="visible" />


    </androidx.appcompat.widget.Toolbar>

    <ImageView
        android:id="@+id/no_notif"
        android:layout_width="260dp"
        android:layout_height="260dp"
        android:visibility="gone"
        android:layout_centerInParent="true"
        android:scaleType="centerCrop"
        android:src="@drawable/nonotification" />

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/notifRecyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/toolbar" />
</RelativeLayout>
 private void checkEmpty() {
if (notificationAdaper.getItemCount() == 0) {
    Log.e("Item count", String.valueOf(notificationAdaper.getItemCount()));
    no_notif.setVisibility(View.VISIBLE);
   notifRecyclerView.setVisibility(View.GONE);

} else {
    no_notif.setVisibility(View.GONE);
   notifRecyclerView.setVisibility(View.VISIBLE);
}