第一步创建:Adapter 类 继承BaseAdapter(奶瓶)

话不多说直接 在代码里 注释:

   注意:1,在BaseAdapter中是代码自动生成的无须手写。
         2,在这里This换成当前上下文对象parent.getContext(),

@Override //看这里的标志。
public View getView(final int position, View convertView, final ViewGroup parent) {

    if (convertView == null) {//这里很简单,就是判断View是否为空
        convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_pic, null);//以及View中所使用的布局文件。
        holder = new viewHolder(convertView);
        convertView.setTag(holder);
    }else {
        holder = (viewHolder) convertView.getTag();
    }
    Glide.with(parent.getContext()) //这里用到了网络图片缓存
            .load(data.get(position).getPicUrl())
            .placeholder(R.mipmap.ic_launcher)
            .error(R.mipmap.ic_launcher_round)
            .into(holder.img_pic);
    holder.tv_pic.setText(data.get(position).getTitle());//这里是对应显示的东西。

    convertView.setOnLongClickListener(new View.OnLongClickListener() { //这里就是长按操作
        @Override
        public boolean onLongClick(View v) {
            new AlertDialog.Builder(parent.getContext())  //这里我用到了Dialog,方便我们确定收藏与取消
                    .setTitle("收藏")
                    .setMessage("是否收藏?")
                    .setPositiveButton("收藏", new  DialogInterface.OnClickListener() { //确认收藏操作
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Account account = BmobUser.getCurrentUser(BaseApplication.getInstance(),Account.class);//我们收藏肯定是必须登陆后才可以收藏内容,否则不能收藏,跳转页面,直接送你去登陆或者注册。
                            if(account != null) {//这里加了一个判断
                                CollectionBean collectionBean = new CollectionBean();
                                collectionBean.setPicUrl(data.get(position).getPicUrl());
                                collectionBean.setuId(account.getObjectId());
                                collectionBean.setUrl(data.get(position).getUrl());
                                collectionBean.setTitle(data.get(position).getTitle());
                                collectionBean.setType(Constant.COLLECTION_TYPE_PIC);//这里根据自己的 Bean来设置


                                collectionBean.save(parent.getContext(), new SaveListener() {
                                    @Override
                                    public void onSuccess() {
                                        Toast.makeText(parent.getContext(), "收藏成功", Toast.LENGTH_SHORT).show();
                                    }

                                    @Override
                                    public void onFailure(int i, String s) {
                                        Toast.makeText(parent.getContext(), "收藏失败", Toast.LENGTH_SHORT).show();
                                    }
                                });
                            }
                        }
                    })
                    .setNegativeButton("取消",null)
                    .create()
                    .show();

            return false;
        }
    });

    return convertView;
}

代码只供学习,谢谢,有什么不足与错误,请大牛指点。

你可能感兴趣的:(第一步创建:Adapter 类 继承BaseAdapter(奶瓶))