package org.openlmis.core.view.holder;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.TextView;
import org.openlmis.core.R;
import org.openlmis.core.view.viewmodel.RegimeProductViewModel;
import roboguice.inject.InjectView;
public class SelectRegimeProductsViewHolder extends BaseViewHolder {
@InjectView(R.id.tv_product_name)
TextView productName;
@InjectView(R.id.tv_short_code)
TextView tvShortCode;
@InjectView(R.id.touchArea_checkbox)
LinearLayout taCheckbox;
@InjectView(R.id.checkbox)
CheckBox checkBox;
public SelectRegimeProductsViewHolder(View itemView) {
super(itemView);
taCheckbox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
triggerCheckbox();
}
});
}
public void populate(final RegimeProductViewModel viewModel) {
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
viewModel.setChecked(isChecked);
}
});
checkBox.setChecked(viewModel.isChecked());
productName.setText(viewModel.getEntireName());
tvShortCode.setText(viewModel.getShortCode());
}
private void triggerCheckbox() {
if (checkBox.isChecked()) {
checkBox.setChecked(false);
} else {
checkBox.setChecked(true);
}
}
}