blob: e87242df2f4752d853aeca89cd27c616c71e769e [file] [log] [blame]
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;
}
}