android - 获取数据后ListView消失

标签 android listview

我有一个带有 ListViewFragment。设置 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/

相关文章:

android - USB 设备没有返回数据

java - 当 fragment 被调用时,我需要 fragment 中的 listView

Android - ListView 更改 View 属性

android - 如何更改 ListView state_focused 和 state_pressed 颜色

android - JSON 解析成 ListView

java - 如何确保用户选择的图像在重启 Android 后不会改变?

android - DDMS 文件资源管理器无法访问数据\数据 (HTC Desire HD)

android - listview 每个项目动态改变背景颜色

android - 如何清除 ListView 回收站中的 View ?

android getText(int resId) 实现