- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在 RecyclerView
中,我想设置一个空 View ,以便在适配器为空时显示。是否有 ListView.setEmptyView()
的等价物? ?
最佳答案
这是一个类似于@dragonborn 的类,但更完整。基于 this gist .
public class EmptyRecyclerView extends RecyclerView {
private View emptyView;
final private AdapterDataObserver observer = new AdapterDataObserver() {
@Override
public void onChanged() {
checkIfEmpty();
}
@Override
public void onItemRangeInserted(int positionStart, int itemCount) {
checkIfEmpty();
}
@Override
public void onItemRangeRemoved(int positionStart, int itemCount) {
checkIfEmpty();
}
};
public EmptyRecyclerView(Context context) {
super(context);
}
public EmptyRecyclerView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public EmptyRecyclerView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
void checkIfEmpty() {
if (emptyView != null && getAdapter() != null) {
final boolean emptyViewVisible = getAdapter().getItemCount() == 0;
emptyView.setVisibility(emptyViewVisible ? VISIBLE : GONE);
setVisibility(emptyViewVisible ? GONE : VISIBLE);
}
}
@Override
public void setAdapter(Adapter adapter) {
final Adapter oldAdapter = getAdapter();
if (oldAdapter != null) {
oldAdapter.unregisterAdapterDataObserver(observer);
}
super.setAdapter(adapter);
if (adapter != null) {
adapter.registerAdapterDataObserver(observer);
}
checkIfEmpty();
}
public void setEmptyView(View emptyView) {
this.emptyView = emptyView;
checkIfEmpty();
}
}
关于android - 等价于 RecyclerView 中的 ListView.setEmptyView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27414173/
如果我的 recyclerView 未加载,我试图将 TextView 设置为空 View ,并且我无法让 setEmptyView 工作。它说无法解析方法 setEmptyView。这是代码:
你好在我的应用程序中包含 listview.listview 包含包含下一个按钮的页脚当用户按下下一个按钮时 ListView 适配器被刷新并使用通知数据集更改方法填充新问题。但是我想在数据为空时设置
所以我在 Fragment 中有一个 ListView,我在其上运行 listView.setEmptyView(getActivity().findViewById(R.id.emptyListVi
我在 android 中有这个 ListView 。现在我把一个 TextView 设置为我的 ListView 的空 View ,这样它只会在 ListView 为空时显示。这个问题甚至 ListV
如标题所示,我想为列表 Activity 设置默认 View 。我试过这样做: TextView emptyView = new TextView(this); emptyView.setText("
我有一个 ListFragment,我想设置它的空 View ,所以我使用以下代码: View emptyView = getLayoutInflater().inflate(R.layout.col
我试图在 listView 为空时设置空 View 。这是我的完整 XML 布局:
我正在尝试为三个 ListView 设置空 View ,即 2 个可扩展 View 和一个 ListView ,它们位于不同的选项卡中: LayoutInflater inflater = getLa
我正在使用带有一些 Fragments 的分页器。 我想在列表 (Fragment) 中没有条目时显示一条消息。 我尝试将 Textview 与 android:id="@id/android:emp
我试图在 listView 为空时显示图像,但不幸的是,只要列表为空,它就不会在 ListView 为空时显示该图像。 我尝试将 setEmptyView 移动到 oncreate,在此之前我尝试检查
我正在使用 this horizontal list view如果我从 listView 适配器中没有项目开始,emptyView 显示,如果我从 listView 适配器中的项目开始,它会隐藏 em
我有一个带有 3 个选项卡的 TabHost,每个选项卡都有一个列表,我想在其中附加一个空 View ,当没有项目存在时显示。布局是这样的:
这是我的实际代码 我已经在 AsyncTask 上定义了 setEmptyview DepartureFragmentInter.java package com.trust.flightboard.
我有以下设置,空 View 文本没有显示... protected void onCreate(Bundle savedInstanceState) { super.onCreate(save
在 RecyclerView 中,我想设置一个空 View ,以便在适配器为空时显示。是否有 ListView.setEmptyView() 的等价物? ? 最佳答案 这是一个类似于@dragonbo
我正在尝试使用 AdapterView 类的 setEmptyView(View) 方法。我见过很多将空 View 设置为 xml 布局中的另一个项目并设置 android:visibility="g
我对 ListView 中的 setEmptyView 方法有疑问。 这是我的 Java 代码: ListView view = (ListView)findViewById(R.id.listVie
在我的 MainActivty 中,我使用 FirebaseListAdapter 显示来自 Firebase 数据库的项目列表,如下所示: firebaseListAdapter = new Fir
我是一名优秀的程序员,十分优秀!