需要继承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); // 取得系统内置的布局填充服务
}
@Override
public int getCount() {
return persons.size();
}
@Override
public Object getItem(int position) {
return persons.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public 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);
}