一级购物车

    xiaoxiao2025-05-04  34

    MyAdapter

    package com.example.jiyonghui0520.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; import com.example.jiyonghui0520.R; import com.example.jiyonghui0520.entity.UserBean; import com.example.jiyonghui0520.view.MyView; import java.util.List; public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private Context context; private List<UserBean.ResultBean> list; public MyAdapter(Context context, List<UserBean.ResultBean> list) { this.context = context; this.list = list; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { View view = View.inflate(context, R.layout.my, null); return new ViewHolder(view); } @Override public void onBindViewHolder(@NonNull final ViewHolder viewHolder, final int i) { Glide.with(context).load(list.get(i).getPic()).into(viewHolder.image_my); viewHolder.tv1_my.setText(list.get(i).getCommodityName()); viewHolder.tv2_my.setText(list.get(i).getPrice()+""); viewHolder.checkBox_my.setOnCheckedChangeListener(null); viewHolder.checkBox_my.setChecked(list.get(i).isGoodsChecked()); viewHolder.checkBox_my.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { list.get(i).setGoodsChecked(isChecked); onclick.click(); } }); viewHolder.myview_my.setCallBackListener(new MyView.CallBackListener() { @Override public void del(int s) { list.get(i).setDefalutNumber(s); viewHolder.tv2_my.setText(list.get(i).getPrice()*s+""); onclick.click(); } @Override public void add(int s) { list.get(i).setDefalutNumber(s); viewHolder.tv2_my.setText(list.get(i).getPrice()*s+""); onclick.click(); } }); } @Override public int getItemCount() { return list.size(); } public class ViewHolder extends RecyclerView.ViewHolder { private final CheckBox checkBox_my; private final ImageView image_my; private final MyView myview_my; private final TextView tv1_my,tv2_my; public ViewHolder(@NonNull View itemView) { super(itemView); checkBox_my = itemView.findViewById(R.id.checkBox_my); image_my = itemView.findViewById(R.id.image_my); tv1_my = itemView.findViewById(R.id.tv1_my); tv2_my = itemView.findViewById(R.id.tv2_my); myview_my = itemView.findViewById(R.id.myview_my); } } onClick onclick; public void click(onClick onclick) { this.onclick = onclick; } public interface onClick{ void click(); } }

    API

    package com.example.jiyonghui0520.api; public class API { public static final String BASE_URL = "http://172.17.8.100/small/"; public static final String USER_URL = "order/verify/v1/findShoppingCart"; }

     MyApiService

    package com.example.jiyonghui0520.api; import com.example.jiyonghui0520.entity.UserBean; import retrofit2.http.GET; import rx.Observable; public interface MyApiService { @GET(API.USER_URL) Observable<UserBean> getCar(); }

    FragmenOne主页面

    public class FragmentOne extends Fragment implements DataView { @BindView(R.id.xRecy_frag_one) XRecyclerView xRecyFragOne; @BindView(R.id.checkBox_frag_one) CheckBox checkBoxFragOne; @BindView(R.id.tv2_my) TextView tv2My; @BindView(R.id.btn_frag_one) Button btnFragOne; private DataPresenter dataPresenter; private Unbinder bind; private MyAdapter myAdapter; private List<UserBean.ResultBean> result; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.frag_one, container, false); bind = ButterKnife.bind(this, view); dataPresenter = new DataPresenter(); dataPresenter.setView(this); dataPresenter.doCar(); xRecyFragOne.setLayoutManager(new LinearLayoutManager(getActivity())); btnFragOne.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(getActivity(),PayActivity.class)); } }); boolean netWork = NetWork.isNetWork(getActivity()); List<Person> people = MyApp.getDaoSession().getPersonDao().loadAll(); if(!netWork){ if(people!=null){ GreenAdapter greenAdapter = new GreenAdapter(getActivity()); greenAdapter.setList(people); xRecyFragOne.setAdapter(greenAdapter); } } return view; } @Override public void onSuccess(Object o) { UserBean userBean = (UserBean) o; result = userBean.getResult(); myAdapter = new MyAdapter(getActivity(), result); xRecyFragOne.setAdapter(myAdapter); for (int i = 0;i<userBean.getResult().size();i++){ Person person = new Person( null, userBean.getResult().get(i).getPic(), userBean.getResult().get(i).getCommodityName(), userBean.getResult().get(i).getPrice() ); MyApp.getDaoSession().getPersonDao().insertOrReplace(person); } checkBoxFragOne.setOnCheckedChangeListener(null); checkBoxFragOne.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { for(int i = 0; i< result.size(); i++){ result.get(i).setGoodsChecked(checkBoxFragOne.isChecked()); } myAdapter.notifyDataSetChanged(); ToPrice(); } }); myAdapter.click(new MyAdapter.onClick() { @Override public void click() { boolean FirstOne = true; for (int i = 0; i< result.size(); i++){ FirstOne = FirstOne&result.get(i).isGoodsChecked(); } checkBoxFragOne.setChecked(FirstOne); ToPrice(); } }); } private void ToPrice(){ double price = 0; for (int i = 0;i<result.size();i++){ if(result.get(i).isGoodsChecked() == true){ double price1 = result.get(i).getPrice(); int defalutNumber = result.get(i).getDefalutNumber(); double sum = price1 * defalutNumber; price = price+sum; } } tv2My.setText(""+String.valueOf(price)); } @Override public void onError(String msg) { } @Override public void onDestroyView() { super.onDestroyView(); bind.unbind(); } @Override public void onDestroy() { super.onDestroy(); dataPresenter.onDeatch(); } }

    MyView加减器

    package com.example.jiyonghui0520.view; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; import com.example.jiyonghui0520.R; public class MyView extends LinearLayout { private Button del_myview,add_myview; public TextView number_myview; private int s; public MyView(Context context) { super(context); } public MyView(Context context,AttributeSet attrs) { super(context, attrs); View view = LayoutInflater.from(context).inflate(R.layout.myview, this); del_myview = findViewById(R.id.del_myview); add_myview = findViewById(R.id.add_myview); number_myview = findViewById(R.id.number_myview); s = Integer.parseInt(number_myview.getText().toString()); add_myview.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { s=s+1; number_myview.setText(String.valueOf(s)); callBackListener.add(s); } }); del_myview.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { s=s-1; if(s<1){ s=1; number_myview.setText(String.valueOf(s)); } number_myview.setText(String.valueOf(s)); callBackListener.del(s); } }); } public MyView(Context context,AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } CallBackListener callBackListener; public void setCallBackListener(CallBackListener callBackListener) { this.callBackListener = callBackListener; } public interface CallBackListener{ public void del(int s); public void add(int s); } }

     

    最新回复(0)