Android自定义适配器

需要继承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);
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值