package com.hupu.games.adapter; import java.util.ArrayList; import java.util.HashMap; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.hupu.games.HuPuApp; import com.hupu.games.R; import com.hupu.games.adapter.SoccerTeamInfoListAdapter.Holder; import com.hupu.games.data.game.basketball.NbaTeamDataEntity; import com.hupu.games.data.game.football.SoccerTeamDataEntity; import com.hupu.games.data.game.football.SoccerTeamScheduleReq; import com.koushikdutta.urlimageviewhelper.UrlImageViewHelper; public class SoccerTeamScheduleAdapter extends SectionedBaseAdapter { private HashMap<String, ArrayList<SoccerTeamDataEntity>> mMapSchedule; private String[] mKeys; private LayoutInflater mInflater; int col1; int col2; int col3; public SoccerTeamScheduleAdapter(Context context) { mInflater = LayoutInflater.from(context); col1 = context.getResources().getColor(R.color.res_cor3); col2 = context.getResources().getColor(R.color.res_cor8); col3 = context.getResources().getColor(R.color.res_cor2); } public void setData(SoccerTeamScheduleReq en) { if (en == null) { mMapSchedule = null; mKeys = null; } else { mMapSchedule = en.mDataMap; mKeys = en.blocks; } notifyDataSetChanged(); } public void entry() { } static class Header { TextView txtDate; } @Override public SoccerTeamDataEntity getItem(int section, int position) { if (section == -1 || position == -1) return null; if (mMapSchedule != null) { return mMapSchedule.get(mKeys[section]).get(position); } return null; } public SoccerTeamDataEntity getItemAt(int pos) { if (mMapSchedule != null) { int section = getSectionForPosition(pos); int child = getPositionInSectionForPosition(pos); return getItem(section, child); } return null; } @Override public long getItemId(int section, int position) { return 0; } int dif; /** 更新时间 */ public void updateTime() { dif++; notifyDataSetChanged(); } public void initTime() { dif = 0; notifyDataSetChanged(); } @Override public int getSectionCount() { if (mKeys != null) return mKeys.length; return 0; } /** 清空所有数据 */ public void clear() { if (mMapSchedule != null) { mMapSchedule.clear(); mMapSchedule = null; mKeys = null; notifyDataSetChanged(); } } @Override public int getCountForSection(int section) { if (mMapSchedule != null) { ArrayList<SoccerTeamDataEntity> datas = mMapSchedule.get(mKeys[section]); return datas.size(); } return 0; } class Holder { TextView txtDate; TextView txtStage; ImageView imgTeam; TextView txtScore; TextView txtShootOut; TextView txtTeam; TextView txtWin; ImageView imgStatus; TextView txtHome; } @Override public View getItemView(int section, int position, View contentView, ViewGroup parent) { Holder item = null; SoccerTeamDataEntity entity = getItem(section,position); if (contentView == null) { contentView = mInflater.inflate(R.layout.item_soccer_team, null); item = new Holder(); item.txtDate = (TextView) contentView.findViewById(R.id.txt_date); item.txtHome = (TextView) contentView .findViewById(R.id.txt_home_away); item.txtStage= (TextView) contentView.findViewById(R.id.txt_stage); item.txtShootOut = (TextView) contentView .findViewById(R.id.txt_shootout); item.txtTeam = (TextView) contentView.findViewById(R.id.txt_team); item.txtWin = (TextView) contentView.findViewById(R.id.txt_win); item.txtScore = (TextView) contentView.findViewById(R.id.txt_score); item.imgTeam = (ImageView) contentView .findViewById(R.id.img_team_logo); item.imgStatus = (ImageView) contentView .findViewById(R.id.img_status); contentView.setTag(item); } else { item = (Holder) contentView.getTag(); } item.txtDate.setText(entity.begin_time); item.txtHome.setText(entity.side); // if(entity.side==null) // item.txtHome.setVisibility(View.GONE); // else // item.txtHome.setText(entity.side); item.txtStage.setText(entity.stage); item.txtTeam.setText(entity.vs_team_name); setIcon(item.imgTeam, entity.vs_team_logo); if (entity.is_win.equals("胜")) item.txtWin.setTextColor(col1); else if (entity.is_win.equals("负")) item.txtWin.setTextColor(col2); else item.txtWin.setTextColor(col3); item.txtWin.setText(entity.is_win); // entity.score="1-1"; item.txtScore.setText(entity.score); // entity.penalty_score="3-1"; if(entity.penalty_score!=null && !entity.penalty_score.equals("")) { //点球 item.txtShootOut.setVisibility(View.VISIBLE); item.txtShootOut.setText("("+entity.penalty_score+")"); item.imgStatus.setVisibility(View.VISIBLE); item.imgStatus.setImageResource(R.drawable.ic_penalty); } else { if(entity.is_extra==1) {//加时 item.imgStatus.setVisibility(View.VISIBLE); item.imgStatus.setImageResource(R.drawable.ic_overtime); } else item.imgStatus.setVisibility(View.GONE); item.txtShootOut.setVisibility(View.GONE); } return contentView; } private void setIcon(ImageView tv, String url) { // tv.setCompoundDrawablesWithIntrinsicBounds( // HuPuApp.getTeamData(res).i_logo_small, 0, 0, 0); UrlImageViewHelper.setUrlDrawable(tv,url,R.drawable.bg_home_nologo); } @Override public View getSectionHeaderView(int section, View convertView, ViewGroup parent) { Header header = null; if (convertView == null) { convertView = mInflater .inflate(R.layout.header_team_schedule_date, null); header = new Header(); header.txtDate = (TextView) convertView.findViewById(R.id.txt_date); // header.txtDate =(TextView)convertView; convertView.setTag(header); } else header = (Header) convertView.getTag(); try { if (mKeys != null) header.txtDate.setText(mKeys[section]+"赛程"); } catch (Exception e) { // TODO: handle exception } return convertView; } }