package com.code44.finance.ui.tags;
import android.content.Context;
import android.database.Cursor;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;
import com.code44.finance.R;
import com.code44.finance.data.model.Tag;
import com.code44.finance.ui.common.BaseModelsAdapter;
public class TagsAdapter extends BaseModelsAdapter {
private final boolean isMultiChoice;
public TagsAdapter(Context context, boolean isMultiChoice) {
super(context);
this.isMultiChoice = isMultiChoice;
}
@Override public View newView(Context context, Cursor cursor, ViewGroup parent) {
final View view = LayoutInflater.from(context).inflate(R.layout.li_tag, parent, false);
final ViewHolder holder = ViewHolder.setAsTag(view);
if (isMultiChoice) {
holder.select_CB.setVisibility(View.VISIBLE);
}
return view;
}
@Override public void bindView(View view, Context context, Cursor cursor) {
final ViewHolder holder = (ViewHolder) view.getTag();
final Tag tag = Tag.from(cursor);
holder.title_TV.setText(tag.getTitle());
if (isMultiChoice) {
holder.select_CB.setChecked(isModelSelected(tag));
}
}
private static class ViewHolder {
public CheckBox select_CB;
public TextView title_TV;
public static ViewHolder setAsTag(View view) {
final ViewHolder holder = new ViewHolder();
holder.select_CB = (CheckBox) view.findViewById(R.id.select_CB);
holder.title_TV = (TextView) view.findViewById(R.id.titleTextView);
view.setTag(holder);
return holder;
}
}
}