【发布时间】:2013-11-11 15:34:34
【问题描述】:
我有一个返回 ListView 的 ListFragment。如果列表中没有项目,我想显示一个替代的 TextView 。假设您可以在 XML 中添加一个 TextView android:id="@android:id/empty" 元素。
但是……
添加包含 ListView 和 TextView 的 FrameLayout 可以预见地给我 “FrameLayout 无法转换为 ListView”。
我也不能只添加一个 TextView 元素。 “文档中根元素之后的标记必须格式正确。”
而且我不能切换到 View 而不是 ListView 因为它不再是一个列表。
...我该怎么做呢?
代码:
@Override
public View onCreateView ( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState ) {
adapter = new ArrayAdapter<Project> ( getActivity (), android.R.layout.simple_list_item_1 );
arrayList = ProjectManager.getProjectList ( getActivity () );
for ( Project p : arrayList ) {
if ( p.getStatus () == Project.ONGOING ) {
adapter.add ( p );
}
}
ListView listView = ( ListView ) inflater.inflate ( R.layout.list, container, false );
listView.setAdapter ( adapter );
return listView;
}
XML:
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
【问题讨论】:
标签: android listview view android-listfragment fragmentstatepageradapter