package com.txsc.adapter; import java.util.List; import com.txsc.R; import com.txsc.activity.Goods_ListAty; import com.txsc.bean.SortBaseBean; import com.txsc.dao.Dao; import com.txsc.utils.AtyUtils; import com.txsc.utils.LogUtils; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; /** * 分类数据adapter * * @author linshao * * @data 2015-5-14 下午12:32:38修改 * */ public class Sort_ListAdapter extends BaseAdapter { private List<SortBaseBean> mList; private LayoutInflater mLay; private Context mContext; private int TAG = 1; private String sort_Name_1, sort_Id_1, parent_Id_1, sort_Id_2, parent_Id_2; private TextView mtv_Title; public Sort_ListAdapter(Context context, List<SortBaseBean> list, TextView tv_title) { this.mList = list; this.mContext = context; this.mLay = LayoutInflater.from(mContext); this.mtv_Title = tv_title; } @Override public int getCount() { return mList.size(); } @Override public Object getItem(int position) { return mList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { holder = new ViewHolder(); convertView = mLay.inflate(R.layout.p1_list_item_sort_main, null); holder.text1 = (TextView) convertView .findViewById(R.id.channel_group_name); holder.img = (ImageView) convertView .findViewById(R.id.channel_group_turn); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } String name_String = mList.get(position).getG_sortname(); if (TAG == 3 || name_String.equals("返回上级")) { holder.img.setVisibility(View.GONE); } else { holder.img.setVisibility(View.VISIBLE); } holder.text1.setText(name_String); holder.text1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { LogUtils.log("tag--" + TAG); switch (TAG) { case 1: AtyUtils.turnToSearch(mContext, Goods_ListAty.class, mList .get(position).getG_sortid()); break; case 2: dataChange(position, parent_Id_1, sort_Id_1); mtv_Title.setText("所有分类"); break; case 3: dataChange(position, parent_Id_2, sort_Id_2); mtv_Title.setText(sort_Name_1); break; default: break; } } private void dataChange(final int position, String parent_Id, String sort_Id) { if (position == 0) { clearData(); List<SortBaseBean> list = Dao.getList(mContext, parent_Id); if (TAG != 2) { SortBaseBean bean = new SortBaseBean(sort_Id, "返回上级", parent_Id); list.add(0, bean); } addData(list); notifyDataSetChanged(); TAG--; } else { AtyUtils.turnToSearch(mContext, Goods_ListAty.class, mList .get(position).getG_sortid()); } } }); holder.img.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { switch (TAG) { case 1: sort_Id_1 = mList.get(position).getG_sortid(); parent_Id_1 = mList.get(position).getG_parentid(); sort_Name_1 = mList.get(position).getG_sortname(); break; case 2: sort_Id_2 = mList.get(position).getG_sortid(); parent_Id_2 = mList.get(position).getG_parentid(); break; default: break; } String sort_Id = mList.get(position).getG_sortid(); String parent_Id = mList.get(position).getG_parentid(); String sort_Name = mList.get(position).getG_sortname(); clearData(); List<SortBaseBean> list = Dao.getList(mContext, sort_Id); SortBaseBean bean = new SortBaseBean(sort_Id, "返回上级", parent_Id); list.add(0, bean); addData(list); notifyDataSetChanged(); mtv_Title.setText(sort_Name); TAG++; } }); return convertView; } public void addData(List<SortBaseBean> beanList) { this.mList.addAll(beanList); } public void clearData() { this.mList.clear(); } class ViewHolder { TextView text1; ImageView img; } }