打气筒工具:将R.layout.item_listview布局添加到相应的view控件里面
- View view=LayoutInflater.from(ScondPro.this).inflate(R.layout.item_listview, null);
- ListView列表控件,他需要两个内容:1.单元布局(单元布局要被填充到listview里面,写在一个layout布局文件中)和 2.数据
- Adapter:数据源、适配器
- 第一步:在.Xml布局文件中设置ListView控件(我们只要设置宽高id属性即可)和创建.xml单元布局,
- 第二步:在activity中创建Listview变量,通过findViewById将变量和布局中的ListView做关联;
- 第三步:调用Listview中的setAdapter()方法设置数据源,适配器;
- 第四步:new BaseAdapter,适配对象,通过匿名内部类创建一个适配器BaseAdapter对象,里面有四个抽象方法
【LayoutInflater inflater=new LayoutInflater.from(MainActivity.this);
注意:from()括号里面要写 MainActivity.this】
- LayoutInflater.from(MainActivity.this).inflat(R.layout_list,null);
- getCount方法是获得数据的数量
- getItem方法是获得数据内容
- getItemId方法是获取数据的位置
- getView方法是获得数据对应的View(实际上我们将单元布局通过打气筒工具填充到了对应的view中,我们只要返回view就行)
- listview.setAdapter(new BaseAdapter(){
@Override
public int getCount() {
// 有多少条数据就需要创建个多少个view填充到lisrview内
// 创建view的位置是在getview里面
// 有多少条数据就调用多少次getview方法因为getview一次只能创建一个view
return 20;
}
@Override
public Object getItem(int i) {
return i;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
// 参数的含义:位置---当前view的位置
// LayoutInflater把一个布局文件填充到一个View布局里面
// 通过打气筒工具填充到创建的view里面
view = LayoutInflater.from(ScondPro.this).inflate(R.layout.item_listview, null);
// 创建布局完毕,return返回给系统
return view;
}};)