package com.hupu.games.fragment;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.hupu.games.R;
import com.hupu.games.activity.FootballGameActivity;
import com.hupu.games.common.HuPuRes;
import com.hupu.games.data.game.football.FootballStatisticResp;
import com.hupu.games.data.game.football.ScoreboardEntity;
import com.hupu.games.fragment.FootballLiveFragment.FootballTimeTask;
/**
* 统计页面
* */
@SuppressLint("ValidFragment")
public class FootballStatisticFragment extends BaseFragment {
View mProgressBar;
ListView mListView;
ListAdapter adapter;
// TextView titleLeft;
// TextView titleRight;
// TextView titleMid;
FootballStatisticResp entity;
boolean bGetData;
int size;
LayoutInflater mInflater;
FootballGameActivity mAct;
FootballTimeTask task;
Handler timeTaskHandler;
private int delayTime=30000;
private boolean startTime;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mInflater = LayoutInflater.from(activity);
adapter = new ListAdapter();
mAct = (FootballGameActivity) activity;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Log.d("StatisticFragment", "onCreateView");
View v = inflater.inflate(R.layout.fragment_football_statistic,
container, false);
mProgressBar = v.findViewById(R.id.probar);
mListView = (ListView) v.findViewById(R.id.list_football_statistic);
// titleLeft = (TextView) v.findViewById(R.id.txt_title_left);
// titleRight = (TextView) v.findViewById(R.id.txt_title_right);
// titleMid = (TextView) v.findViewById(R.id.txt_title_right);
mListView.setAdapter(adapter);
if (entity != null) {
setData(entity);
} else {
reqData();
}
return v;
}
/***/
public void entry() {
if (mProgressBar != null) {
reqData();
if (adapter != null && adapter.getCount() > 0)
mListView.setSelection(0);
}
}
public void setData(FootballStatisticResp en) {
entity = en;
if (en.mTitles != null) {
mProgressBar.setVisibility(View.GONE);
size = en.mTitles.size();
// titleLeft.setText(entity.homeValue.get(0));
// titleRight.setText(entity.awayValue.get(0));
// titleMid.setText(entity.mTitles.get(0));
adapter.notifyDataSetChanged();
if (en.scoreBoard.code == ScoreboardEntity.STATUS_END)
EndTimer();
else {
// delayTime =30000;
startTimer();
}
}
}
public void clear() {
size = 0;
entity = null;
if (adapter != null)
adapter.notifyDataSetChanged();
}
private class ListAdapter extends BaseAdapter {
class Holder {
TextView txtLeft;
TextView txtRight;
TextView txtMid;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Holder item;
if (convertView == null) {
convertView = mInflater.inflate(
R.layout.item_football_statistic, null);
item = new Holder();
item.txtLeft = (TextView) convertView
.findViewById(R.id.txt_left);
item.txtRight = (TextView) convertView
.findViewById(R.id.txt_right);
item.txtMid = (TextView) convertView.findViewById(R.id.txt_mid);
convertView.setTag(item);
} else {
item = (Holder) convertView.getTag();
}
item.txtLeft.setText(entity.homeValue.get(position));
item.txtRight.setText(entity.awayValue.get(position));
item.txtMid.setText(entity.mTitles.get(position));
if ((position & 1) == 0) {
convertView.setBackgroundResource(R.color.football_statistic_down);
} else {
convertView.setBackgroundResource(R.color.football_statistic_up);
}
return convertView;
}
@Override
public int getCount() {
return size;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
}
private void startTimer() {
startTime = true;
if (timeTaskHandler == null) {
timeTaskHandler = new Handler();
}
task = new FootballTimeTask();
timeTaskHandler.postDelayed(task, delayTime);
}
private void EndTimer() {
if (timeTaskHandler != null) {
timeTaskHandler.removeCallbacks(task);
timeTaskHandler = null;
}
startTime = false;
}
private void reqData() {
mAct.req();
}
class FootballTimeTask implements Runnable {
@Override
public void run() {
reqData();
}
}
@Override
public void onDestroy() {
super.onDestroy();
EndTimer();
}
@Override
public void onPause() {
super.onPause();
if (timeTaskHandler != null)
timeTaskHandler.removeCallbacks(task);
}
@Override
public void onResume() {
super.onResume();
if (startTime)
startTimer();
}
}