如何处理回收站视图中的空数据?

Azd*_*yah 4 android adapter android-layout android-recyclerview

<android.support.v7.widget.RecyclerView
    android:id="@+id/education_recycle_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:scrollbars="vertical">
</android.support.v7.widget.RecyclerView>
Run Code Online (Sandbox Code Playgroud)

这是我当前用于回收视图的 xml 布局文件。

如何处理回收站视图中的空数据?是否可以在同一布局中放置文本以显示“无数据”?

谢谢

Ish*_*nha 7

这就是我的做法:

在 XML 中:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<TextView
    android:id="@+id/tv_no_data"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:text="@string/empty_text" 
    android:textAppearance="?android:textAppearanceMedium"
    android:visibility="invisible" />

<android.support.v7.widget.RecyclerView
    android:id="@+id/education_recycle_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="vertical"
    app:layoutManager="LinearLayoutManager" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

并在Activity

if (!data.isEmpty()) {
                        //if data is available, don't show the empty text
                        emptyText.setVisibility(View.INVISIBLE);
                        RecyclerAdapter adapter = new RecyclerAdapter(data); // pass the data to your adapter here
                        recyclerView.setAdapter(adapter);

                    } else
                        emptyText.setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)

如果您需要更多信息,请告诉我。

  • 您需要观察适配器中的数据集。如果数据集为空,则仅显示空视图。如果动态删除项目,则此解决方案将不起作用。 (2认同)