android 列表视图


用于列表的空视图

作为AdapterView的子类,ListView支持显示一种被称为“空视图”的特殊View。再有内容时显示列表视图,否则显示空视图。

有两种方法设置空视图,即在代码中指定的和使用XML布局文件

代码中指定

使用AdapterView对象的 public void setEmptyView(View emptyView);方法

@Override 
	public void onStart() {
		super.onStart();
		 View emptyView = getActivity().getLayoutInflater().inflate(R.layout.listitem_empty_view, null); 
		((ViewGroup)this.getListView().getParent()).addView(emptyView);
		this.getListView().setEmptyView(emptyView);
	}

使用XML布局文件

创建XML布局文件,同时定义ListView和空视图。然后将@android:id/list和@android:id/empty资源ID分别赋予给它们,以实现ListView在两种视图模式之间的自动切换。

布局文件:fragment_crime_list.xml

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <ListView android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
        
    </ListView>
    <TextView android:id="@android:id/empty" 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/empty_list"
        />
    
</LinearLayout>

在ListFragment中引用

@Override
	public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
		super.onCreateView(inflater, container, savedInstanceState);
		View view = inflater.inflate(R.layout.fragment_crime_list, null);
		return view;
	}


你可能感兴趣的:(android 列表视图)