package cn.koolcloud.ipos.appstore.adapter;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import cn.koolcloud.ipos.appstore.R;
import cn.koolcloud.ipos.appstore.entity.Category;
/**
* <p>Title: SubCategoryListAdapter.java</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2013</p>
* <p>Company: All In Pay</p>
* @author Teddy
* @date 2013-11-8
* @version
*/
public class SubCategoryListAdapter extends BaseAdapter {
private List<Category> dataList = new ArrayList<Category>();
private Context ctx;
private LayoutInflater mInflater;
private int selectedPosition = 0;
public SubCategoryListAdapter(Context context, List<Category> dataSource, int currentPosition) {
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.ctx = context;
dataList = dataSource;
selectedPosition = currentPosition;
}
@Override
public int getCount() {
return dataList.size();
}
@Override
public Object getItem(int arg0) {
return dataList.get(arg0);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
CategoryItemViewHolder holder = null;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.left_nav_category_item, null);
holder = new CategoryItemViewHolder();
holder.rootLinearLayout = (LinearLayout) convertView.findViewById(R.id.left_nav_item_root);
holder.indicatorImageView = (ImageView) convertView.findViewById(R.id.indicator);
holder.leftMenuImageView = (ImageView) convertView.findViewById(R.id.left_menu_icon);
holder.menuTextView = (TextView) convertView.findViewById(R.id.left_menu_text);
convertView.setTag(holder);
} else {
holder = (CategoryItemViewHolder) convertView.getTag();
}
final Category categoryInfo = dataList.get(position);
holder.menuTextView.setText(categoryInfo.getName());
if (position == selectedPosition) {
holder.rootLinearLayout.setSelected(true);
holder.indicatorImageView.setVisibility(View.VISIBLE);
} else {
holder.rootLinearLayout.setSelected(false);
holder.indicatorImageView.setVisibility(View.GONE);
}
return convertView;
}
class CategoryItemViewHolder {
LinearLayout rootLinearLayout;
ImageView indicatorImageView;
ImageView leftMenuImageView;
TextView menuTextView;
}
}