package com.ectrip.cyt.adapter; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.LinearLayout; import android.widget.TextView; import com.ectrip.trips.check.R; public class StatisticsAdapter extends BaseAdapter { private List> responsesList; private Context context; private int secondItemSize; public StatisticsAdapter(Context context, List> responsesList) { this.responsesList = responsesList; this.context = context; if (responsesList != null) { Map map = responsesList.get(0); if (map != null) { secondItemSize = map.size(); } } } @Override public int getCount() { if (responsesList != null) { return responsesList.size(); } return 0; } @Override public Map getItem(int position) { if (responsesList != null) { return responsesList.get(position); } return null; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHold hold = null; if (convertView == null) { hold = new ViewHold(); convertView = View.inflate(context, R.layout.statistic_day_item, null); LinearLayout itemLayout = (LinearLayout) convertView .findViewById(R.id.itemLayout); if (secondItemSize != 0) { for (int i = 0; i < secondItemSize; i++) { View item = View.inflate(context, R.layout.statistic_day_item_item, null); hold.product[i] = (TextView) item .findViewById(R.id.product); hold.product[i].setVisibility(View.GONE); itemLayout.addView(item); } } convertView.setTag(hold); } else { hold = (ViewHold) convertView.getTag(); } if (getItem(position) != null) { for(int i=0;i temp = getItem(position); int index=0; for (Map.Entry entry : temp.entrySet()) { if (entry != null) { if (entry.getValue() != null) { hold.product[index].setText(entry.getValue()); hold.product[index].setVisibility(View.VISIBLE); index++; }else{ hold.product[index].setVisibility(View.GONE); } } } if(index!=secondItemSize){ for(int i=index;i> statisticsList) { responsesList = statisticsList; super.notifyDataSetChanged(); } }