RemarkItemViewModel.java 2.16 KB
package com.naji.xiaotao.cart.vm;

import android.content.Context;
import android.databinding.ObservableBoolean;


import com.naji.xiaotao.cart.entity.RemarkEntity;
import com.naji.xiaotao.cart.entity.RemarkItemEntity;

import me.goldze.mvvmhabit.base.BaseViewModel;
import me.goldze.mvvmhabit.binding.command.BindingAction;
import me.goldze.mvvmhabit.binding.command.BindingCommand;

public class RemarkItemViewModel extends BaseViewModel{

    public RemarkEntity entity;

    public RemarkItemEntity one,two,three;
    public ObservableBoolean oneSelected=new ObservableBoolean(false);
    public ObservableBoolean twoSelected=new ObservableBoolean(false);
    public ObservableBoolean threeSelected=new ObservableBoolean(false);

    public RemarkItemViewModel(Context context, RemarkEntity entity){
        super(context);
        this.entity=entity;
        one=entity.getList().get(0);
        two=entity.getList().get(1);
        if(entity.getList().size()>=3){
            three=entity.getList().get(2);
        }
        if(entity.getList().get(0).isSelected()){
            oneSelected.set(true);
        }
        if(entity.getList().get(1).isSelected()){
            twoSelected.set(true);
        }
        if(entity.getList().size()>=3&&entity.getList().get(2).isSelected()){
            threeSelected.set(true);
        }
    }

    public BindingCommand OnOneClickCommand=new BindingCommand(new BindingAction() {
        @Override
        public void call() {
            oneSelected.set(!oneSelected.get());
            entity.getList().get(0).setSelected(!entity.getList().get(0).isSelected());
        }
    });
    public BindingCommand OnTwoClickCommand=new BindingCommand(new BindingAction() {
        @Override
        public void call() {
            twoSelected.set(!twoSelected.get());
            entity.getList().get(1).setSelected(!entity.getList().get(1).isSelected());
        }
    });
    public BindingCommand OnThreeClickCommand=new BindingCommand(new BindingAction() {
        @Override
        public void call() {
            threeSelected.set(!threeSelected.get());
            entity.getList().get(2).setSelected(!entity.getList().get(2).isSelected());
        }
    });
}