package com.hupu.games.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.hupu.games.R;
import com.hupu.games.activity.NBAPlayerInfoActivity.PlayerListViewTouchLinstener;
import com.hupu.games.common.HupuLog;
import com.hupu.games.data.game.basketball.NbaPlayerInfoReq;
import com.hupu.games.data.game.basketball.NbaPlayerInfoReq.NbaPlayerInfoEntity;
import com.hupu.games.view.HScrollView;
import com.hupu.games.view.HScrollView.ScrollViewObserver1;
import com.hupu.games.view.HupuSectionedBaseAdapter;
public class PlayerInfoListAdapter extends HupuSectionedBaseAdapter {
private LayoutInflater mInflater;
OnClickListener mClick;
NbaPlayerInfoReq infoList;
int txtWidth;
int txtHeight;
HScrollView headSrcrollView;
Context mContext;
PlayerListViewTouchLinstener mLinstener;
public PlayerInfoListAdapter(Context context,PlayerListViewTouchLinstener linstener) {
//mClick = click;
mLinstener = linstener;
mContext = context;
mInflater = LayoutInflater.from(context);
txtWidth=context.getResources().getDimensionPixelSize(
R.dimen.txt_player);
txtHeight =context.getResources().getDimensionPixelSize(
R.dimen.txt_player_height);
ob1 =new ScrollViewObserver1();
}
public void setData(NbaPlayerInfoReq info) {
if (info == null) {
infoList = null;
} else {
infoList = info;
}
}
public NbaPlayerInfoEntity getItemAt(int pos) {
if (infoList != null) {
int section = getSectionForPosition(pos);
int child = getPositionInSectionForPosition(pos);
return getItem(section, child);
}
return null;
}
@Override
public NbaPlayerInfoEntity getItem(int section, int position) {
// TODO Auto-generated method stub
if (section == -1 || position == -1)
return null;
if (infoList !=null) {
if (section == 0) {
return infoList.regularStats.get(position);
}else {
return infoList.playoffStats.get(position);
}
}
return null;
}
@Override
public long getItemId(int section, int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getSectionCount() {
if (infoList !=null)
return infoList.pos;
else
return 0;
}
@Override
public int getCountForSection(int section) {
if (section == 0) {
return infoList.regularStats.size();
}else {
return infoList.playoffStats.size();
}
}
public ScrollViewObserver1 ob1;
@Override
public View getItemView(final int section, final int position, View convertView, ViewGroup parent) {
Holder item = null;
HScrollView scrollView = null;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item_nba_player_info, null);
item = new Holder();
item.txtData = new TextView[infoList.regularValues.length-2];
LinearLayout container = (LinearLayout) convertView
.findViewById(R.id.layout_containter);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(txtWidth, txtHeight);
for (int i = 0; i < item.txtData.length; i++) {
item.txtData[i] = buildTextView();
container.addView(item.txtData[i],params);
}
item.txtDateName=(TextView)convertView.findViewById(R.id.txt_date_name);
item.txtTeamName=(TextView)convertView.findViewById(R.id.txt_team_name);
scrollView =(HScrollView)convertView.findViewById(R.id.hscrollview);
item.hScrollView = scrollView;
if(section == 0&&position==0){
mLinstener.setScrollView(scrollView);
}
convertView.setTag(item);
}else {
item = (Holder) convertView.getTag();
}
//HupuLog.e("papa", "个数=="+ob1.getListSize());
item.hScrollView.setNoHeader(ob1);
if (section == 0 ) {
for (int i = 0; i < item.txtData.length; i++) {
item.txtData[i].setText(infoList.regularStats.get(position).values[i+2]);
item.txtDateName.setText(infoList.regularStats.get(position).values[0]);
item.txtTeamName.setText(infoList.regularStats.get(position).values[1]);
}
}else {
for (int i = 0; i < item.txtData.length; i++) {
item.txtData[i].setText(infoList.playoffStats.get(position).values[i+2]);
item.txtDateName.setText(infoList.playoffStats.get(position).values[0]);
item.txtTeamName.setText(infoList.playoffStats.get(position).values[1]);
}
}
if(position%2==0)
convertView.setBackgroundResource(R.drawable.bg_player_data_selector1);
else
convertView.setBackgroundResource(R.drawable.bg_player_data_selector2);
// convertView.setOnClickListener(new OnClickListener() {
//
// @Override
// public void onClick(View v) {
// // TODO Auto-generated method stub
// infoList.playoffKeys[1] = "1";
// Intent teamAct = new Intent(mContext, PlayerAndTeamDataActivity.class);
// if (section == 0 ) {
// teamAct.putExtra("tid", infoList.regularStats.get(position).t_id);
// }else {
// teamAct.putExtra("tid", infoList.playoffStats.get(position).t_id);
// }
// mContext.startActivity(teamAct);
// }
// });
return convertView;
}
@Override
public View getSectionHeaderView(int section, View convertView, ViewGroup parent) {
Holder item = null;
HScrollView scrollView = null;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item_player_info_list_header, null);
item = new Holder();
item.txtData = new TextView[infoList.regularValues.length-2];
LinearLayout container = (LinearLayout) convertView
.findViewById(R.id.layout_containter);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(txtWidth, txtHeight);
for (int i = 0; i < item.txtData.length; i++) {
item.txtData[i] = buildTextView();
container.addView(item.txtData[i],params);
}
item.txtDateName=(TextView)convertView.findViewById(R.id.txt_date_name);
item.txtTeamName=(TextView)convertView.findViewById(R.id.txt_team_name);
scrollView =(HScrollView)convertView.findViewById(R.id.hscrollview);
item.hScrollView = scrollView;
convertView.setTag(item);
}else {
item = (Holder) convertView.getTag();
}
item.hScrollView.setNoHeader(ob1);
if (section == 0) {
item.txtDateName.setText(infoList.regularValues[0]);
item.txtTeamName.setText(infoList.regularValues[1]);
}else {
item.txtDateName.setText(infoList.playoffValues[0]);
item.txtTeamName.setText(infoList.playoffValues[1]);
}
for (int i = 0; i < item.txtData.length; i++) {
item.txtData[i].setText(infoList.regularValues[i+2]);
}
return convertView;
}
private TextView buildTextView() {
TextView tv =(TextView)mInflater.inflate(R.layout.txt_player_data, null);
return tv;
}
class Holder {
/** 数据 */
TextView[] txtData;
/** 球员名字 */
TextView txtDateName;
TextView txtTeamName;
HScrollView hScrollView;
}
}