Android(3_2)-----模仿微信界面:通讯录页面

本文详细介绍了如何在Android中创建自定义BaseAdapter,用于ListView的数据绑定。通过实例代码,展示了如何实现BaseAdapter的方法,包括getCount(), getItem(), getItemId()和关键的getView()方法。在getView()中,通过判断convertView是否为空来决定是否需要重新加载布局,从而提高了列表视图的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自定义适配器:

    private class myBaseAdapter extends BaseAdapter {
        private ArrayList<Contect> list;
        public myBaseAdapter() {
        }
        public myBaseAdapter(ArrayList<Contect> list) {
            this.list = list;
        }

        @Override
        public int getCount() {
            return list.size();
        }

        @Override
        public Object getItem(int position) {
            return list.get(position);
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            Contect contect= (Contect) getItem(position);//传进来的list的某一项
            if(convertView==null){
                LayoutInflater inflater=LayoutInflater.from(getContext());
                convertView=inflater.inflate(R.layout.contect_item,parent,false);
            }
            TextView letter_Contect=convertView.findViewById(R.id.letter_Contect);
            ImageView contect_Head=convertView.findViewById(R.id.contect_Head);
            TextView contect_Name=convertView.findViewById(R.id.contect_Name);

            letter_Contect.setText(contect.getLetter());
            contect_Head.setImageResource(contect.getHead());
            contect_Name.setText(contect.getName());
            return convertView;
        }
    }

重点是getView()方法:

            if(convertView==null){
                LayoutInflater inflater=LayoutInflater.from(getContext());
                convertView=inflater.inflate(R.layout.contect_item,parent,false);
            }

 

 

BaseAdapter:https://blog.youkuaiyun.com/yelbosh/article/details/7831812

转载于:https://www.cnblogs.com/Lemonades/p/10759595.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值