我有一个带有 ListView
的 Fragment
。设置 ListView
的 emptyView 后一切正常,但是一旦我的适配器(扩展 BaseAdapter
)获得一些数据,不仅是 emptyView,还有整个 Fragment
包含我的 ListView
和其他一些 View 消失了。
如果我不使用空 View ,一切正常。
我的适配器是否需要实现一些特殊的东西才能使空 View 工作?还是我设置emptyView的方式?
LayoutInflater inflater = getActivity().getLayoutInflater();
View emptyView = inflater.inflate(R.layout.empty_list_view,
(ViewGroup) mListView.getParent());
mListView.setEmptyView(emptyView);
谢谢,
马辛。
最佳答案
所以我想通了。
我现在直接将空 View 添加到它应该在 XML 中的位置,然后在 Java 中为我的 ListView
添加 setEmptyView
,这就像我希望的那样工作。
XML:
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/empty_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/empty_list_view" />
和Java部分,设置emptyView:
View emptyView = getActivity().findViewById(R.id.empty_view);
mListView.setEmptyView(emptyView);
适配器
应该实现 isEmpty():
@Override
public boolean isEmpty()
{
return listItems.size() == 0;
}
我希望它能对将来的人有所帮助。 ;)
关于android - 获取数据后ListView消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9103695/