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
- 41.我的收藏
- 我的收藏
- 我的收藏
- 我的收藏链接
- 我的收藏网址
- 我的收藏
- 我收藏的网址
- 我收藏的文章
- 我收藏的文章
- 我的收藏网址
- 我的收藏精品
- 我的个人收藏
- 我收藏的图书
- 我的收藏
- 我的收藏
- 我收藏的!!
- 我的收藏
- 我的收藏
- Spring的BeanFactoryPostProcessor和BeanPostProcessor接口的区别
- android图片和分辨率对照图
- 为RecyclerView的item创建点击事件
- 安装Hadoop及Spark for Ubuntu 16.04
- JavaSE-3min回顾并优化Object的equals方法
- 41.我的收藏
- 牛客网刷题之构建乘积数组
- 移植SUI Mobile省市区选择器至PC端,使用select完成地区联动
- kero2
- CentOS学习17_CentOS升级openssl为最新版
- 通过Spring MVC 的自定义拦截器实现灵活的登录拦截
- Mac 上面使用cocoapods的一些问题
- eclipse颜色字体调整
- http://blog.csdn.net/zddblog/article/details/7521424