listview点击item怎么拿到适配的内容(对象)

ListView点击item之后拿到适配的内容进行下一步动作,是android移动开发经常遇到的事,基础差,然后又懒,不愿意看源码的同学,想拿到内容可能会想到直接用适配器去拿,比如我(然后就被狠狠的嘲讽了),其实完全没必要,直接从listview.setOnItemClickListener当中返回的Parent中就能拿。

我的适配器:

class AddAdapter extends BaseAdapter {

    List<SearchByBookMarkType.DataBean> beanList;

    public AddAdapter(List<SearchByBookMarkType.DataBean> beanList) {
        this.beanList = beanList;
    }

    @Override
    public int getCount() {
        return beanList == null ? 0 : beanList.size();
    }

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

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        addPeriodicalHolder holder;
        if (convertView == null) {
            convertView = LayoutInflater.from(AddPeriodical.this).inflate(R.layout.activity_about_batch, null);
            holder = new addPeriodicalHolder(convertView);
            convertView.setTag(holder);
        } else {
            holder = (addPeriodicalHolder) convertView.getTag();
        }
        holder.bindView(beanList.get(position));
        return convertView;
    }

    class addPeriodicalHolder {
        ImageView icSelect;
        ImageView addHeadPic;
        TextView addTitle;

        public addPeriodicalHolder(View convertView) {
            icSelect = convertView.findViewById(R.id.ic_select);
            addHeadPic = convertView.findViewById(R.id.add_head_pic);
            addTitle = convertView.findViewById(R.id.add_title);
        }

        public void bindView(SearchByBookMarkType.DataBean bean) {
            addTitle.setText(bean.getTitle());//1.标题
            String url = bean.getPreviewImage();//2.图片
            if (url != null && !url.isEmpty()) {
                Glide.with(AddPeriodical.this).load(url).into(addHeadPic);
            } else addHeadPic.setImageResource(R.drawable.pic_head);
        }
    }

}

我的适配的内容:

public class SearchByBookMarkType {

    /**
     * currentTime : 1527045547764
     * code : 0
     * data : [{"id":1,"title":"你喂员工吃草,却指望他们有狼性? ","previewImage":"https://upload-images.jianshu.io/upload_images/3554552-73b7deea1e417e95.png"}]
     * message : 请求成功
     * status : 200
     */

    private long currentTime;
    private int code;
    private String message;
    private int status;
    private List<DataBean> data;

    public long getCurrentTime() {
        return currentTime;
    }

    public void setCurrentTime(long currentTime) {
        this.currentTime = currentTime;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public List<DataBean> getData() {
        return data;
    }

    public void setData(List<DataBean> data) {
        this.data = data;
    }




    public static class DataBean {
        /**
         * id : 1
         * title : 你喂员工吃草,却指望他们有狼性?
         * previewImage : https://upload-images.jianshu.io/upload_images/3554552-73b7deea1e417e95.png
         */

        private int id;
        private String title;
        private String previewImage;

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getPreviewImage() {
            return previewImage;
        }

        public void setPreviewImage(String previewImage) {
            this.previewImage = previewImage;
        }
    }
}


listview.setOnItemClickListener的时候从parent拿到适配的对象:

addPeriodical.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        SearchByBookMarkType.DataBean bean = (SearchByBookMarkType.DataBean) parent.getAdapter().getItem(position);
        int articleid = bean.getId();
        String picUrl = bean.getPreviewImage();
        String articleTile = bean.getTitle();
    }
});



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值