效果图:
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.至此功能全部实现