私はレイアウトファイル内に特別なビューを配置することに慣れています。ListActivity
ドキュメントに記載されているデータがない場合に表示されます。このビューの ID は です"android:id/empty"
。
<TextView
android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_data" />
新しいRecyclerView
?
ベストアンサー1
が定義されている同じレイアウトにRecyclerView
、 を追加しますTextView
。
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical" />
<TextView
android:id="@+id/empty_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:visibility="gone"
android:text="@string/no_data_available" />
onCreate
または適切なコールバックで、にフィードするデータセットRecyclerView
が空かどうかを確認します。データセットが空の場合、 もRecyclerView
空です。その場合、メッセージが画面に表示されます。そうでない場合は、その可視性を変更します。
private RecyclerView recyclerView;
private TextView emptyView;
// ...
recyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view);
emptyView = (TextView) rootView.findViewById(R.id.empty_view);
// ...
if (dataset.isEmpty()) {
recyclerView.setVisibility(View.GONE);
emptyView.setVisibility(View.VISIBLE);
}
else {
recyclerView.setVisibility(View.VISIBLE);
emptyView.setVisibility(View.GONE);
}