package com.unnamed.b.atv.sample.holder;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import com.unnamed.b.atv.model.TreeNode;
import com.unnamed.b.atv.sample.R;
/**
* Created by Bogdan Melnychuk on 2/15/15.
*/
public class SelectableItemHolder extends TreeNode.BaseNodeViewHolder<String> {
private TextView tvValue;
private CheckBox nodeSelector;
public SelectableItemHolder(Context context) {
super(context);
}
@Override
public View createNodeView(final TreeNode node, String value) {
final LayoutInflater inflater = LayoutInflater.from(context);
final View view = inflater.inflate(R.layout.layout_selectable_item, null, false);
tvValue = (TextView) view.findViewById(R.id.node_value);
tvValue.setText(value);
nodeSelector = (CheckBox) view.findViewById(R.id.node_selector);
nodeSelector.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
node.setSelected(isChecked);
}
});
nodeSelector.setChecked(node.isSelected());
if (node.isLastChild()) {
view.findViewById(R.id.bot_line).setVisibility(View.INVISIBLE);
}
return view;
}
@Override
public void toggleSelectionMode(boolean editModeEnabled) {
nodeSelector.setVisibility(editModeEnabled ? View.VISIBLE : View.GONE);
nodeSelector.setChecked(mNode.isSelected());
}
}