参考项目(ListViewProject/ListView)
1. 可以使用SimpleAdapter对对显示数据进行封装。
2. 说明:与滚动视图(ScrollView)类似的还有一种组件(ListView)可以将多个组件加入
到ListView之中以达到组件滚动的效果,ListView组件本身也有对应的ListView类
支持,可以通过操作ListView类已完成对此组件的操作。
3. 结构:
java.lang.Object
|-android.view.View
|-android.view.ViewGroup
|-android.widget.AdapterView<T extends android.widget.Adapter>
|-android.widget.AbsListView
|-android.widget.ListView
4. 如果通过Activity进行配置ListView显示内容,可以使用set.Adapter()方法完成,而set.Adapter()
方法所需要设置的是ListAdaper接口对象。
既然有接口那么肯定需要有子类 ,而且既然要发生向上转型的关系,那么对于子类而言,
所关注的也只是构造方法而已,而在ArrayAdapter的构造为:
ArrayAdapter(Context context, int textViewResourceId, T[] objects)
可以发现传递三个参数:
Context:表示Android的上下文对象;
textViewResourceId:要使用的布局管理器
T[] objects:表示要操作的数组内容
5. 将对象数组封装到listView中进行显示:
package org.lxh.demo;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MyListViewDemo extends Activity {
private ListView listView = null;
private String data[] = { "北京1", "上海1", "北京2", "上海2", "北京3", "上海3", "北京4",
"上海4", "北京5", "上海5" };
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.listView = new ListView(this); // 实例化组件
this.listView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, this.data)); // 为ListView组件设置内容
super.setContentView(this.listView); // 显示组件
}
}
6.此时也只能是完成了一个listView的显示操作,但是这种操作不好;
因为使用ArrayAdapter只适合于数组的操作。
7.SimpleAdapter: