package tk.zielony.carbonsamples.widget;
import android.databinding.DataBindingUtil;
import android.databinding.ViewDataBinding;
import android.os.Bundle;
import android.view.LayoutInflater;
import carbon.drawable.CheckableDrawable;
import carbon.widget.CheckBox;
import tk.zielony.carbonsamples.R;
import tk.zielony.carbonsamples.Samples;
import tk.zielony.carbonsamples.SamplesActivity;
import tk.zielony.carbonsamples.databinding.ActivityCheckboxRadioBinding;
public class CheckBoxRadioActivity extends SamplesActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ViewDataBinding viewDataBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.activity_checkbox_radio, null, false);
setContentView(viewDataBinding.getRoot());
ActivityCheckboxRadioBinding binding = (ActivityCheckboxRadioBinding) viewDataBinding;
Samples.initToolbar(this, getString(R.string.checkBoxRadioActivity_title));
binding.check.setOnClickListener(view -> binding.checkBox.setChecked(true));
binding.uncheck.setOnClickListener(view -> binding.checkBox.setChecked(false));
binding.checkBoxGroup.setOnCheckedChangeListener((buttonView, isChecked) -> {
binding.checkBoxChild1.setChecked(isChecked);
binding.checkBoxChild2.setChecked(isChecked);
});
CheckBox.OnCheckedChangeListener listener = (buttonView, isChecked) -> {
if (binding.checkBoxChild1.isChecked() != binding.checkBoxChild2.isChecked()) {
binding.checkBoxGroup.setChecked(CheckableDrawable.CheckedState.INDETERMINATE);
} else {
binding.checkBoxGroup.setChecked(binding.checkBoxChild1.isChecked());
}
};
binding.checkBoxChild1.setOnCheckedChangeListener(listener);
binding.checkBoxChild2.setOnCheckedChangeListener(listener);
}
}