Tuesday, April 14, 2015

Android : TextDrawable and Contextual Action Bar (CAB)



I am using this great library TextDrawable with my List. How can I create Contextual Action Bar and multiple select of items when I click ImageView that is part of TextDrawable. Here is my List Adapter. (Not using ActionSherlockBar)



private class TeamListAdapter extends ArrayAdapter<TeamModel> {

public TeamListAdapter(ArrayList<TeamModel> teams) {
super(getActivity(), 0, teams);
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {

final ViewHolder holder;

if (convertView == null) {
convertView = getActivity().getLayoutInflater().inflate(R.layout.teams_list_item, null);

holder = new ViewHolder(convertView);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}


TeamModel c = getItem(position);


updateCheckedState(holder, c);
holder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// when the image is clicked, update the selected state
TeamModel c = getItem(position);
c.setIsChecked(!c.isChecked());
updateCheckedState(holder, c);


}
});
holder.textView.setText(c.getTeam_name());


return convertView;
}

private void updateCheckedState(ViewHolder holder, TeamModel item) {
if (item.isChecked()) {
holder.imageView.setImageDrawable(mDrawableBuilder.build(" ", 0xff616161));
holder.view.setBackgroundColor(HIGHLIGHT_COLOR);
holder.checkIcon.setVisibility(View.VISIBLE);
}
else {
TextDrawable drawable = mDrawableBuilder.build(String.valueOf(item.getTeam_name().charAt(0)), mColorGenerator.getColor(item.getTeam_name()));
holder.imageView.setImageDrawable(drawable);
holder.view.setBackgroundColor(Color.TRANSPARENT);
holder.checkIcon.setVisibility(View.GONE);
}
}

}

No comments:

Post a Comment