Adapter的使用
步骤:
ListView:列表控件 只具有展示数据的作用,数据处理由Adapter完成
1、在xml布局文件中 声明
2、在activity中找控件
3、初始化数据源(一个集合)
4、处理数据 (Adapter)
5、显示数据
Activity代码:
public class MainActivity extendsAppCompatActivity {
ListView listView;
ArrayList<String> arrayList;
MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//静态方式加载
listView = (ListView) findViewById(R.id.listView);
arrayList = newArrayList<>();//实例化集合
设置Adapter:
adapter = new MyAdapter(arrayList,this);
listView.setAdapter(adapter);
}
Adapter代码:
一个类继承BaseAdapter,重写4个方法。
@Override
public int getCount() {// 数源的条数
return list.size();
}
@Override
public Object getItem(int position) { // 返回每一条数据是什么
return list.get(position);
}
@Override
public longgetItemId(int position) { // 返回每个item的位置
return position;
}
@Override
publicView getView(int position, View convertView, ViewGroup parent) {
//先加载Item的布局 LayoutInflater:动态加载布局
convertView = LayoutInflater.from(context).inflate(R.layout.item_listview,null);
//在对应的布局上找控件id
TextView textView = (TextView) convertView.findViewById(R.id.text_item);
//给控件设置数据
textView.setText(list.get(position));
return convertView;
}