| package org.wordpress.android.ui.posts; |
| |
| import android.content.Context; |
| import android.text.Html; |
| import android.view.LayoutInflater; |
| import android.view.View; |
| import android.view.ViewGroup; |
| import android.widget.BaseAdapter; |
| import android.widget.ImageView; |
| import android.widget.SpinnerAdapter; |
| import android.widget.TextView; |
| import org.wordpress.android.R; |
| import org.wordpress.android.models.CategoryNode; |
| |
| import java.util.List; |
| |
| |
| public class ParentCategorySpinnerAdapter extends BaseAdapter implements SpinnerAdapter { |
| int mResourceId; |
| List<CategoryNode> mObjects; |
| Context mContext; |
| |
| public int getCount() { |
| return mObjects.size(); |
| } |
| |
| public CategoryNode getItem(int position) { |
| return mObjects.get(position); |
| } |
| |
| public long getItemId(int position) { |
| return position; |
| } |
| |
| public ParentCategorySpinnerAdapter(Context context, int resource, List<CategoryNode> objects) { |
| super(); |
| mContext = context; |
| mObjects = objects; |
| mResourceId = resource; |
| } |
| |
| @Override |
| public View getDropDownView(int position, View convertView, ViewGroup parent) { |
| LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); |
| View rowView = inflater.inflate(mResourceId, parent, false); |
| TextView textView = (TextView) rowView.findViewById(R.id.categoryRowText); |
| ImageView levelIndicatorView = (ImageView) rowView.findViewById(R.id.categoryRowLevelIndicator); |
| textView.setText(Html.fromHtml(getItem(position).getName())); |
| int level = getItem(position).getLevel(); |
| if (level == 1) { // hide ImageView |
| levelIndicatorView.setVisibility(View.GONE); |
| } else { |
| ViewGroup.LayoutParams params = levelIndicatorView.getLayoutParams(); |
| params.width = (params.width / 2) * level; |
| levelIndicatorView.setLayoutParams(params); |
| } |
| return rowView; |
| } |
| |
| @Override |
| public View getView(int position, View convertView, ViewGroup parent) { |
| LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); |
| View rowView = inflater.inflate(mResourceId, parent, false); |
| TextView textView = (TextView) rowView.findViewById(R.id.categoryRowText); |
| ImageView levelIndicatorView = (ImageView) rowView.findViewById(R.id.categoryRowLevelIndicator); |
| textView.setText(Html.fromHtml(getItem(position).getName())); |
| levelIndicatorView.setVisibility(View.GONE); |
| return rowView; |
| } |
| } |