效果图:
在CartFragment中创建textview的对象,然后在CartAdapter适配器中的构造函数,实现textview的赋值,使用for遍历
代码:
CartFragment.class
package zuo.com.ui.fragment; import android.content.Context; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import java.util.ArrayList; import java.util.List; import zuo.com.ui.HomeActivity; import zuo.com.ui.MainActivity; import zuo.com.ui.R; import zuo.com.ui.adapter.CartAdapter; import zuo.com.ui.adapter.HotGoodsAdapter; import zuo.com.ui.bean.ShoppingCart; import zuo.com.ui.util.CartProvider; /** * Created by Administrator on 2016/10/6. */ public class CartFragment extends Fragment { private LayoutInflater layoutInflater; private CartProvider cartProvider; private CartAdapter cartAdapter; private RecyclerView recyclerView; private TextView textView; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { layoutInflater=LayoutInflater.from(getContext()); cartProvider=new CartProvider(getContext()); View view=layoutInflater.inflate(R.layout.fragment_cart,container,false); recyclerView= (RecyclerView) view.findViewById(R.id.recycler_view); textView= (TextView) view.findViewById(R.id.txt_total); showData(); return view; } //初始化数据 private void showData(){ List<ShoppingCart> carts=HotGoodsAdapter.hashMap.get("123"); if(carts!=null) { Log.d("cart", carts.get(0).getName()); cartAdapter = new CartAdapter(carts,textView); recyclerView.setAdapter(cartAdapter); recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); }else{ cartAdapter = new CartAdapter(carts,textView); recyclerView.setAdapter(cartAdapter); recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); } } }
CartAdapter:
package zuo.com.ui.adapter; import android.net.Uri; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; 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.List; import zuo.com.ui.R; import zuo.com.ui.bean.ShoppingCart; import zuo.com.ui.number.NumberAddSubView; import zuo.com.ui.util.CartProvider; /** * Created by Administrator on 2016/10/17. */ public class CartAdapter extends RecyclerView.Adapter<CartAdapter.ViewHolder> { private LayoutInflater layoutInflater; private List<ShoppingCart> carts; private TextView textView; float sum=0; public CartAdapter(List<ShoppingCart> carts,TextView textView){ this.carts=carts; this.textView=textView; textView.setText("¥"+total()); } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { layoutInflater=LayoutInflater.from(parent.getContext()); View view=layoutInflater.inflate(R.layout.template_cart,parent,false); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.textView1.setText(carts.get(position).getName()); Uri uri=Uri.parse(carts.get(position).getImgUrl()); ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri) .setProgressiveRenderingEnabled(true) .build(); PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder() .setImageRequest(request) .build(); holder.simpleDraweeView.setController(controller); Log.d("123",carts.get(position).getPrice()); holder.textView2.setText("¥"+carts.get(position).getPrice()); } private float total(){ if(carts==null){ return 0; }else{ for(ShoppingCart s:carts){ sum+=Float.parseFloat(s.getPrice()); } return sum; } } @Override public int getItemCount() { if(carts!=null) { return carts.size(); }else{ return 0; } } class ViewHolder extends RecyclerView.ViewHolder{ private CheckBox checkBox; private SimpleDraweeView simpleDraweeView; private TextView textView1,textView2; private NumberAddSubView numberAddSubView1; public ViewHolder(View itemView) { super(itemView); checkBox= (CheckBox) itemView.findViewById(R.id.checkbox); checkBox.setClickable(true); simpleDraweeView= (SimpleDraweeView) itemView.findViewById(R.id.drawee_view); textView1= (TextView) itemView.findViewById(R.id.text_title); textView2= (TextView) itemView.findViewById(R.id.text_price); numberAddSubView1= (NumberAddSubView) itemView.findViewById(R.id.num_control); numberAddSubView1.setValue(1); numberAddSubView1.setClickable(true); } } }