public class TwoFragmentPresenter extends AppDelegate implements View.OnClickListener {
private RecyclerView mRecyclerView;
private MerchantsApdater apdater;
private SharedPreferences preferences;
private ImageView image;
private List<CarBean.DataBean> data1;
private TextView mSum_price_txt,mAll_price;
@Override
public int getLayoutId() {
return R.layout.fragment_two;
}
private Context context;
@Override
public void getContext(Context context) {
this.context=context;
}
@Override
public void initData() {
preferences = context.getSharedPreferences("is", Context.MODE_PRIVATE);
image = get(R.id.iv_cricle);
mSum_price_txt = get(R.id.sum_price_txt);
mAll_price = get(R.id.all_price);
//全选的点击事件
setOnclick(this,R.id.iv_cricle);
mRecyclerView = get(R.id.car_RecyclerView);
carHttp();
apdater = new MerchantsApdater(context);
LinearLayoutManager manager = new LinearLayoutManager(context);
mRecyclerView.setLayoutManager(manager);
mRecyclerView.setAdapter(apdater);
//
apdater.result(new MerchantsApdater.SetOnclickLisnear() {
@Override
public void click(List<CarBean.DataBean> list1) {
result(list1);
}
});
}
private void result(List<CarBean.DataBean> list1) {
int mNum = 0;
double mPrice = 0;
//
int num1 = 0;
//
int num2 = 0;
for (int i = 0; i < list1.size(); i++) {
List<CarBean.DataBean.ListBean> list = list1.get(i).getList();
for (int j = 0; j < list.size(); j++) {
num1++;
int num = list.get(j).getNum();
double price = list.get(j).getPrice();
//判断是否是选中状态
if (list.get(j).isIscheckedd()){
//
num2++;
mNum=mNum+1*num;
mPrice+=price*num;
}
}
}
if (num1==num2){
image.setImageResource(R.drawable.cricle_yes);
}else{
image.setImageResource(R.drawable.cricle_no);
}
mAll_price.setText("价格:"+mPrice);
mSum_price_txt.setText("结算:"+mNum);
}
private void carHttp() {
String uid = preferences.getString("uid", "");
String token = preferences.getString("token", "");
Map<String,String> map = new HashMap<>();
map.put("uid",uid);
map.put("token",token);
new HttpHelper11().get("/product/getCarts",map).result(new HttpHelper11.HttpListener() {
@Override
public void success(String data) {
CarBean carBean = new Gson().fromJson(data, CarBean.class);
data1 = carBean.getData();
apdater.setList(data1);
}
@Override
public void fail(String error) {
}
});
}
public void onResume() {
carHttp();
}
//
private boolean ischecked=true;
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.iv_cricle:
if (ischecked){
image.setImageResource(R.drawable.cricle_yes);
ischecked=false;
NumAndNumer(true);
}else{
image.setImageResource(R.drawable.cricle_no);
ischecked=true;
NumAndNumer(false);
}
break;
}
}
private void NumAndNumer(boolean is) {
int mNum = 0;
double mPrice = 0;
for (int i = 0; i < data1.size(); i++) {
List<CarBean.DataBean.ListBean> list = data1.get(i).getList();
for (int j = 0; j < list.size(); j++) {
int num = list.get(j).getNum();
double price = list.get(j).getPrice();
//点击
list.get(j).setIscheckedd(is);
mNum=mNum+1*num;
mPrice+=price*num;
}
}
if (is){
mAll_price.setText("价格:"+mPrice);
mSum_price_txt.setText("结算:"+mNum);
}else {
mAll_price.setText("价格:0");
mSum_price_txt.setText("结算:");
}
//刷新适配器
apdater.notifyDataSetChanged();
}
}
展示商家适配器
public class MerchantsApdater extends RecyclerView.Adapter<MerchantsApdater.MyViewHolder> {
public Context context;
public MerchantsApdater(Context context) {
this.context=context;
}
@NonNull
@Override
public MerchantsApdater.MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = View.inflate(context, R.layout.recycview_shangjia_item,null);
MyViewHolder viewHolder = new MyViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull MerchantsApdater.MyViewHolder myViewHolder, int i) {
List<CarBean.DataBean.ListBean> list = list1.get(i).getList();
myViewHolder.textView.setText(this.list1.get(i).getSellerName());
RightApdaterChild apdaterChild = new RightApdaterChild(context,list);
LinearLayoutManager manager = new LinearLayoutManager(context);
myViewHolder.rightChild.setLayoutManager(manager);
myViewHolder.rightChild.setAdapter(apdaterChild);
//
apdaterChild.result(new RightApdaterChild.SetOnclickLisnear() {
@Override
public void click() {
lisnear.click(list1);
}
});
}
@Override
public int getItemCount() {
return list1.size();
}
private List<CarBean.DataBean> list1 = new ArrayList<>();
public void setList(List<CarBean.DataBean> list) {
this.list1 = list;
notifyDataSetChanged();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
RecyclerView rightChild;
TextView textView;
//ImageView pic;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
textView = (TextView) itemView.findViewById(R.id.s_recyview_name);
//pic = (ImageView) itemView.findViewById(R.id.recyview_right_image);
rightChild = (RecyclerView)itemView.findViewById(R.id.s_recyview_recyview);
}
}
private SetOnclickLisnear lisnear;
public void result(SetOnclickLisnear lisnear){
this.lisnear=lisnear;
}
public interface SetOnclickLisnear{
void click(List<CarBean.DataBean> list1);
}
}
展示商品适配器
public class RightApdaterChild extends RecyclerView.Adapter<RightApdaterChild.MyViewHolder> {
private Context context;
private List<CarBean.DataBean.ListBean> list1 = new ArrayList<>();
public RightApdaterChild(Context context, List<CarBean.DataBean.ListBean> list) {
this.context=context;
this.list1=list;
notifyDataSetChanged();
}
@NonNull
@Override
public RightApdaterChild.MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = View.inflate(context, R.layout.recylview_right_child,null);
MyViewHolder viewHolder = new MyViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull final RightApdaterChild.MyViewHolder myViewHolder, final int i) {
myViewHolder.textView.setText(list1.get(i).getTitle());
myViewHolder.num.setText(list1.get(i).getNum()+"");
myViewHolder.price.setText(list1.get(i).getPrice()+"");
//Glide.with(context).load(list.get(i).getIcon()).into(myViewHolder.image);
myViewHolder.image.setImageURI(list1.get(i).getImages().split("\\|")[0]);
if (list1.get(i).isIscheckedd()){
myViewHolder.checkebox.setImageResource(R.drawable.cricle_yes);
} else{
myViewHolder.checkebox.setImageResource(R.drawable.cricle_no);
}
myViewHolder.checkebox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//选中变为没有选中
if (list1.get(i).isIscheckedd()){
list1.get(i).setIscheckedd(false);
}else{
list1.get(i).setIscheckedd(true);
}
//调用
lisnear.click();
//刷新当前条目
notifyItemChanged(i);
}
});
//加号
myViewHolder.mAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int num = list1.get(i).getNum();
list1.get(i).setNum(num+1);
//刷新当前条目
notifyItemChanged(i);
//
lisnear.click();
}
});
//减号
myViewHolder.mJian.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int num = list1.get(i).getNum();
list1.get(i).setNum(num-1);
//刷新当前条目
notifyItemChanged(i);
//
lisnear.click();
}
});
}
@Override
public int getItemCount() {
return list1.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
SimpleDraweeView image;
TextView textView,price,num;
ImageView checkebox,mJian,mAdd;
//ImageView pic;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
textView = (TextView) itemView.findViewById(R.id.g_child_name);
mJian = itemView.findViewById(R.id.jian);
mAdd = itemView.findViewById(R.id.add);
num = (TextView) itemView.findViewById(R.id.num);
price = (TextView) itemView.findViewById(R.id.g_child_price);
image = (SimpleDraweeView)itemView.findViewById(R.id.child_image);
checkebox = itemView.findViewById(R.id.checkboxx);
//pic = (ImageView) itemView.findViewById(R.id.recyview_right_image);
}
}
private SetOnclickLisnear lisnear;
public void result(SetOnclickLisnear lisnear){
this.lisnear=lisnear;
}
public interface SetOnclickLisnear{
void click();
}
}