ListActivity页面,当ListView没有数据时,布局文件中的文本控件会显示,不然不会显示:
package com.xie.app;
import java.util.ArrayList;
import java.util.List;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
/**
* ListActivity当ListView数据为空时,布局文件中的文本控件会显示,不然不会显示
*
* @author Hao
*
*/
public class MainActivity extends ListActivity {
// 声明控件
private ListView listView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 绑定控件,引用android.R.id
listView = (ListView) this.findViewById(android.R.id.list);
// 不设置以下将会显示布局文件中的文本框,设置ListView适配器
listView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1,
getData()));
}
/**
* 获取数据
*/
private List<String> getData() {
List<String> lts = new ArrayList<String>();
lts.add("a");
lts.add("b");
return lts;
}
}
布局文件 main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<!-- 引用android的TextView -->
<TextView
android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="当前数据为空时显示" />
<!-- 引用android的ListView -->
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>