package com.hupu.games.fragment;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.TableLayout;
import com.hupu.games.HuPuApp;
import com.hupu.games.R;
import com.hupu.games.activity.HupuBaseActivity;
import com.hupu.games.activity.NBAGameActivity.BoxscoreDatas;
import com.hupu.games.activity.NBAPlayerInfoActivity;
import com.hupu.games.adapter.GameDataListAdapter;
import com.hupu.games.adapter.GameDataListAdapter.TagData;
import com.hupu.games.common.HuPuRes;
import com.hupu.games.data.PlayerEntity;
import com.hupu.games.data.game.basketball.BasketballGameEntity;
import com.hupu.games.data.personal.box.BoxScoreResp;
import com.hupu.games.view.PinnedHeaderXListView;
/**
* 统计页面
* */
@SuppressLint("ValidFragment")
public class StatisticFragment extends BaseBasketballFragment {
private int i_homeId;
private int i_awayId;
private BoxScoreResp mData;
PlayerClick mClick;
public StatisticFragment(BasketballGameEntity entityGame) {
super();
i_homeId = entityGame.i_home_tid;
i_awayId = entityGame.i_away_tid;
homeName = HuPuApp.getTeamData(i_homeId).str_name;
awayName = HuPuApp.getTeamData(i_awayId).str_name;
iHomeSeries=entityGame.home_series;
iAwaySeries=entityGame.away_series;
}
public StatisticFragment() {
super();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Log.d("StatisticFragment", "onCreateView");
View v = inflater.inflate(R.layout.fragment_statistics, container,
false);
mProgressBar = v.findViewById(R.id.probar);
mTable = (TableLayout) v.findViewById(R.id.table_score);
mLvDatas = (PinnedHeaderXListView) v.findViewById(R.id.list_players);
mLvDatas.setPullLoadEnable(false);
mLvDatas.setPullRefreshEnable(false);
touchListener = new ListViewTouchLinstener();
initGesture();
if (mClick == null)
mClick = new PlayerClick();
mDataListAdapter = new GameDataListAdapter(getActivity(), i_homeId,
i_awayId, this, mClick);
mLvDatas.setOnTouchListener(touchListener);
mLvDatas.setAdapter(mDataListAdapter);
mLvDatas.setOnItemClickListener(new ListClick());
initRow();
if (bGetData) {
setData(mData, false);
}
return v;
}
public void setData(BoxScoreResp data, boolean byMan) {
bGetData = true;
if (mProgressBar != null && !byMan)
mProgressBar.setVisibility(View.GONE);
mData = data;
// 需要先设置title
if (data != null && mLvDatas != null) {
mLvDatas.setVisibility(View.VISIBLE);
mTable.setVisibility(View.VISIBLE);
mDataListAdapter.setData(data);
setTableData(data.mEntityHome, data.mEntityAway);
}
}
public void updateData(BoxScoreResp data) {
setTableData(data.mEntityHome, data.mEntityAway);
mDataListAdapter.updateData(data);
}
public void updateBoxScoreData(BoxscoreDatas boxscoreData) {
if (mDataListAdapter != null)
mDataListAdapter.updatemBoxscoreDatas(boxscoreData);
}
public void copyTableData(boolean home, String key, String value) {
// Log.d(key, value);
if (home)
mData.mEntityHome.mapScore.put(key, value);
else
mData.mEntityAway.mapScore.put(key, value);
}
class ListClick implements OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int pos,
long arg3) {
PlayerEntity data = (PlayerEntity) mDataListAdapter.getItemAt(pos);
if (data != null) {
int id = -1;
try {
id = Integer.parseInt(data.str_player_id);
} catch (NumberFormatException e) {
e.printStackTrace();
}
if (id > 0) {
((HupuBaseActivity) getActivity()).sendUmeng(
HuPuRes.UMENG_EVENT_NBAPLAYERS,
HuPuRes.UMENG_KEY_ENTRANCE,
HuPuRes.UMENG_VALUE_NBA_BOX_SCORE);
Intent in = new Intent(getActivity(),
NBAPlayerInfoActivity.class);
in.putExtra("pid", id);
startActivity(in);
}
}
}
}
class PlayerClick implements OnClickListener {
@Override
public void onClick(View v) {
final TagData tag = (TagData) v.getTag();
if (tag != null && tag.entity!=null) {
int id = -1;
try {
id = Integer.parseInt(tag.entity.str_player_id);
} catch (NumberFormatException e) {
e.printStackTrace();
}
if (id > 0) {
((HupuBaseActivity) getActivity()).sendUmeng(
HuPuRes.UMENG_EVENT_NBAPLAYERS,
HuPuRes.UMENG_KEY_ENTRANCE,
HuPuRes.UMENG_VALUE_NBA_BOX_SCORE);
Intent in = new Intent(getActivity(),
NBAPlayerInfoActivity.class);
in.putExtra("pid", id);
startActivity(in);
//
tag.view.setSelected(true);
tag.view.postDelayed(new Runnable() {
@Override
public void run() {
tag.view.setSelected(false);
}
}, 80);
}
}
}
}
}