安卓开发中ListViewAdapter常用模板(总结)

一般,向ListView中添加数据,都是用自定义的ListViewAdapter继承自BaseAdapter。下面这个是一个常用的,优化过的模板。

直接上代码:

public class ListViewAdapter extends BaseAdapter {

    public List<OptionItemBean> optionItemBeanList;
    public Context context;

    public ListViewAdapter(List<OptionItemBean> optionItemBeanList, Context context) {
        this.optionItemBeanList = optionItemBeanList;
        this.context = context;
    }

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

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

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder = null;
        if (convertView == null) {
            convertView = LayoutInflater.from(context).inflate(R.layout.item_bean, parent, false);
            viewHolder = new ViewHolder(convertView);
            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }
        viewHolder.tvTitle.setText(optionItemBeanList.get(position).getBtnText());
        viewHolder.tvDetailInfo.setText(optionItemBeanList.get(position).getText());
        return convertView;
    }

    static class ViewHolder {
        TextView tvTitle, tvDetailInfo;
        public ViewHolder(View convertView) {
            tvTitle = convertView.findViewById(R.id.itembean_tvTitle);
            tvDetailInfo = convertView.findViewById(R.id.itembean_tvDetailInfo);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/lpcrazyboy/article/details/80708569
今日推荐