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;
}
}