ListView使用

本文详细介绍了一种基于ImprotantNewsBean.NewslistBean的数据适配器实现方法,该适配器用于填充ListView,展示了如何使用Glide加载图片,以及如何设置TextView显示新闻标题和时间。

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

版权声明:本文为延成原创文章,转载请标明出处

@BindView(R.id.lv_list_news)
ListView mLvListNews;

public void initView(View view) {
    mAdapter = new ImportantNewsAdapter(getContext(), list);
    mLvListNews.setAdapter(mAdapter);
}
 /**
 * @author Mr.release
 * @Describe
 */
public class ImportantNewsAdapter extends MyBaseAdapter<ImprotantNewsBean.NewslistBean> {

    public ImportantNewsAdapter(Context context, List<ImprotantNewsBean.NewslistBean> datas) {
        super(context, datas);

    }

    @Override
    public View getView(int position, View view, ViewGroup parent) {
        ViewHolder holder;
        if (view == null) {
            view = mInflater.inflate(R.layout.item_important_news, null);
            holder = new ViewHolder(view);
            view.setTag(holder);
        } else {
            holder = (ViewHolder) view.getTag();
        }

        ImprotantNewsBean.NewslistBean bean = mDatas.get(position);
        Glide.with(mContext).load(bean.getPicUrl()).optionalCenterCrop().into(holder.iv_tuijian);
        holder.tv_tuijian_title.setText(bean.getTitle());
        holder.tv_tuijian_time.setText(bean.getCtime());

        return view;
    }

    static class ViewHolder {
        @BindView(R.id.iv_tuijian)
        ImageView iv_tuijian;
        @BindView(R.id.tv_tuijian_title)
        TextView tv_tuijian_title;
        @BindView(R.id.tv_tuijian_time)
        TextView tv_tuijian_time;

        public ViewHolder(View view) {
            ButterKnife.bind(this, view);
        }
    }
}
/**
 * @author Mr.release
 * @Describe
 */
public abstract class MyBaseAdapter<T> extends android.widget.BaseAdapter {
    public  Context mContext;
    public  List<T> mDatas;
    public  LayoutInflater mInflater;

    public MyBaseAdapter(Context context, List<T> datas) {
        this.mContext = context;
        this.mDatas = datas;
        mInflater = LayoutInflater.from(context);
    }


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

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

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

    @Override
    public abstract View getView(int position, View convertView, ViewGroup parent);

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值