Android自定义适配器

来源:互联网 发布:淘宝天猫类目采集器 编辑:程序博客网 时间:2024/05/18 21:49

需要继承BaseAdapter

package com.example.adapter;import java.util.List;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;import com.example.test_sqlite.R;import com.example.test_sqlite.domain.Person;public class PersonAdapter extends BaseAdapter{private List<Person> persons; // 在绑定的数据private int resource;//绑定的条目界面private LayoutInflater inflater = null;// 使用xml文件生成一个对应的view对象public PersonAdapter(Context context, List<Person> persons, int resource) {this.persons = persons;this.resource = resource;inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);// 取得系统内置的布局填充服务}@Overridepublic int getCount() {return persons.size();}@Overridepublic Object getItem(int position) {return persons.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {/* * 在listView中如果已经存在view,显示下一页的时候就不会再创建view了;如果不存在就创建 * */if(convertView == null){convertView = inflater.inflate(resource, null);// 生成条目对象}TextView nameView = (TextView) convertView.findViewById(R.id.name);TextView phoneView = (TextView) convertView.findViewById(R.id.phone);TextView amountView = (TextView) convertView.findViewById(R.id.amount);// 实现数据绑定Person person = persons.get(position);nameView.setText(person.getName());phoneView.setText(person.getPhone());amountView.setText(String.valueOf(person.getAmount()));return convertView;}}

使用适配器:

private void show3() {List<Person> persons = service.getScrollData(0, 20);PersonAdapter adapter = new PersonAdapter(this, persons, R.layout.item);listView.setAdapter(adapter);}


0 0