android - 无法在回收站视图中显示空视图
问题描述
当我的列表在回收站视图中为空但它不起作用时,我试图放置一个空视图。我尝试了以下代码:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
view = inflater.inflate(R.layout.fragment_notification, container, false);
((AppCompatActivity) getActivity()).getSupportActionBar().show();
initVar();
initViews();
loadData();
if (notifications.isEmpty()){
recyclerView.setVisibility(View.GONE);
imageView.setVisibility(View.VISIBLE);
}
else {
recyclerView.setVisibility(View.VISIBLE);
imageView.setVisibility(View.GONE);
}
return view;
}
和 XML 代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/notification_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/empty_iv_notification"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:visibility="gone"
android:src="@drawable/ic_empty" />
</LinearLayout>
虽然列表有数据,但它仍然显示空视图。我无法用stackoverflow答案帮助自己,因为我尝试的所有答案都是相同的并且不起作用。有谁能够帮我。
解决方案
当你的数据被加载时,把下面的代码放在 loadData() 我的意思是如果你的列表是空的,那么下面的代码就会被执行。
if (notifications.isEmpty()){
recyclerView.setVisibility(View.GONE);
imageView.setVisibility(View.VISIBLE);
}
else {
recyclerView.setVisibility(View.VISIBLE);
imageView.setVisibility(View.GONE);
}
推荐阅读
- angular - 如何动态渲染表格布局中的角度组件?
- java - 共享首选项未在重新打开活动时检索值
- wordpress - 无法返回其他网站的wordpress网站的iframe(跨域框架)
- javafx - javafx 控制器类创建
- c# - 使用枚举作为方法参数的 C# 替代方法
- python - 为什么ipython魔术函数`%timeit -n1 code_block`会多次执行`code_block`?
- mysql - 从项目表中进行选择的 SQL 查询,该表连接到类别表
- python - Python:不允许使用重叠的键和值进行替换
- jquery - Magento2 自定义 JQuery 文件包含正确,但代码不起作用
- android - 带有 Gridlayout 的 Cardview 会产生意外行为