41.我的收藏

来源:互联网 发布:js 质数 编辑:程序博客网 时间:2024/06/05 16:54

效果图:



1.我们将hotFragment中的商品详细信息的hotgoodsbean,传入到list<HotGoodsBean>  list中,然后再将这个list加入到MyfavitorActivity创建的一个hasmap中,这样就将我选择的商品成功的放入了缓存当中,然后在放入MyfavitorActivity中的recyclerview中。

2.点击删除adapter中的item,使用如下代码:

removebutton为删除按钮

holder.removeButton.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        list.remove(position);        notifyItemRemoved(position);        notifyItemRangeChanged(0,list.size());    }});
3.加入购物车,这里我们将每个点击的item将入到一个list<ShoppingCart>中,然后复制给HotFragment中的hasmap,实现在购物车中也能显示商品,代码如下:

package zuo.com.ui.adapter;import android.content.Context;import android.net.Uri;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.Button;import android.widget.TextView;import com.facebook.drawee.backends.pipeline.Fresco;import com.facebook.drawee.backends.pipeline.PipelineDraweeController;import com.facebook.drawee.view.SimpleDraweeView;import com.facebook.imagepipeline.request.ImageRequest;import com.facebook.imagepipeline.request.ImageRequestBuilder;import java.util.ArrayList;import java.util.List;import zuo.com.ui.R;import zuo.com.ui.bean.HotGoodsBean;import zuo.com.ui.bean.ShoppingCart;import zuo.com.ui.fragment.CartFragment;/** * Created by Administrator on 2016/11/10. */public class MyFavitorAdapter extends RecyclerView.Adapter<MyFavitorAdapter.ViewHolder> {    private List<HotGoodsBean> list;    private Context context;    private LayoutInflater layoutInflater;    public MyFavitorAdapter(List<HotGoodsBean> list, Context context){        this.list=list;        this.context=context;    }    @Override    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        layoutInflater=LayoutInflater.from(parent.getContext());        View view=layoutInflater.inflate(R.layout.item_my_favitor,parent,false);        return new ViewHolder(view);    }    @Override    public void onBindViewHolder(ViewHolder holder, final int position) {        Uri uri=Uri.parse(list.get(position).getImgUrl());        ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)                .setProgressiveRenderingEnabled(true)                .build();        PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()                .setImageRequest(request)                .build();        holder.simpleDraweeView.setController(controller);        holder.nameTextView.setText(list.get(position).getName());        holder.priceTextView.setText(list.get(position).getPrice());        holder.removeButton.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                list.remove(position);                notifyItemRemoved(position);                notifyItemRangeChanged(0,list.size());            }        });        holder.addButton.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                List<ShoppingCart> s=new ArrayList<ShoppingCart>();                s.add(new ShoppingCart(list.get(position).getId(),                        list.get(position).getName(),                        list.get(position).getImgUrl(),                        list.get(position).getDescription(),                        list.get(position).getPrice()));                HotGoodsAdapter.hashMap.put("123",s);                HotGoodsAdapter.hashMap.put("456",s);                HotGoodsAdapter.hashMap.put("789",s);            }        });    }    @Override    public int getItemCount() {        return list.size();    }    class ViewHolder extends RecyclerView.ViewHolder{        private SimpleDraweeView simpleDraweeView;        private TextView nameTextView,priceTextView;        private Button removeButton,addButton;        public ViewHolder(View itemView) {            super(itemView);            simpleDraweeView= (SimpleDraweeView) itemView.findViewById(R.id.drawee_view);            nameTextView= (TextView) itemView.findViewById(R.id.text_title);            priceTextView= (TextView) itemView.findViewById(R.id.text_price);            removeButton= (Button) itemView.findViewById(R.id.btn_remove);            addButton= (Button) itemView.findViewById(R.id.btn_like);        }    }}


4.至此功能全部实现

0 0
原创粉丝点击