package com.hupu.games.fragment; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import com.hupu.games.R; import com.hupu.games.activity.BaseGameActivity; import com.hupu.games.activity.HupuBaseActivity; import com.hupu.games.activity.NBAGameActivity; import com.hupu.games.adapter.NBATeamScheduleAdapter; import com.hupu.games.common.HuPuRes; import com.hupu.games.data.game.basketball.NbaTeamDataEntity; import com.hupu.games.data.game.basketball.NbaTeamScheduleReq; import com.hupu.games.view.PinnedHeaderListView; /** * @author panyongjun 球队完整赛程 * */ public class NbaTeamScheduleFragment extends BaseFragment { ListClick listClick; int i_tid; View progress; private NBATeamScheduleAdapter mAdapter; private PinnedHeaderListView mLvSchedule; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (i_tid == 0) i_tid = getArguments().getInt("tid"); } @Override public void onAttach(Activity activity) { super.onAttach(activity); } int headerHeight; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_team_schedule, container, false); mLvSchedule = (PinnedHeaderListView) v.findViewById(R.id.list_teams); mLvSchedule.setOnItemClickListener(new ListClick()); progress = v.findViewById(R.id.probar); measure(); if (mAdapter == null) { mAdapter = new NBATeamScheduleAdapter(getActivity()); } if (mData != null) { setData(mData); } //mLvSchedule.setAdapter(mAdapter); return v; } private void measure() { View v =View.inflate(getActivity(), R.layout.header_team_schedule_date, null); int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); v.measure(w, h); headerHeight =v.getMeasuredHeight(); // HupuLog.d("headerHeight = " + headerHeight); } NbaTeamScheduleReq mData; /** 重新刷新数据 */ public void setData(NbaTeamScheduleReq data) { mData = data; if (mAdapter != null ) { mLvSchedule.setAdapter(mAdapter); if (data.blocks != null) { mAdapter.setData(data); } int ps = mAdapter.getSectionForPosition(data.pos); int pos = data.pos + ps + 1; // mLvSchedule.setSelection(pos); if(mLvSchedule.pinnedHeaderHeight>0) mLvSchedule.setSelectionFromTop(pos, (int)mLvSchedule.pinnedHeaderHeight); else mLvSchedule.setSelectionFromTop(pos,headerHeight); progress.setVisibility(View.GONE); } } @Override public void entry() { super.entry(); } class ListClick implements OnItemClickListener { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) { NbaTeamDataEntity data = mAdapter.getItemAt(pos); if (data != null) { ((HupuBaseActivity) getActivity()).sendUmeng( HuPuRes.UMENG_EVENT_NBA_TEAMS, HuPuRes.UMENG_KEY_FULL_SCHEDULE, HuPuRes.UMENG_VALUE_TAP_ONE_GAME); Intent in = new Intent(getActivity(), NBAGameActivity.class); in.putExtra("gid", data.gid); // in.putExtra("st", data.status); startActivity(in); } } } }