package com.brady.jlulife.Fragments; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.app.Fragment; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ListView; import android.widget.Spinner; import android.widget.Toast; import com.brady.jlulife.Activities.CJCXAuthActivity; import com.brady.jlulife.Adapters.ScoreAdapter; import com.brady.jlulife.Adapters.SemesterAdapter; import com.brady.jlulife.Entities.TermList; import com.brady.jlulife.Models.Listener.OnListinfoGetListener; import com.brady.jlulife.Models.UIMSModel; import com.brady.jlulife.R; import com.brady.jlulife.Utils.ConstValue; import java.util.ArrayList; import java.util.List; /** * A simple {@link Fragment} subclass. */ public class ScoreListFragment extends BaseFragment { private Spinner mSpinner; private Button mBtnQuery; private ListView mLvScore; private UIMSModel uimsModel; private Context mContext; private List mSemList; private List mScoreList; private ScoreAdapter mAdapter; private SemesterAdapter semesterAdapter; private static ScoreListFragment instance; public ScoreListFragment() { // Required empty public constructor } public static ScoreListFragment getInstance(){ if(instance==null) instance = new ScoreListFragment(); return instance; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment setTitle("我的成绩"); return inflater.inflate(R.layout.fragment_score_list, container, false); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); mContext = getActivity().getApplicationContext(); uimsModel = UIMSModel.getInstance(mContext); initComponents(view); mScoreList = new ArrayList(); mAdapter = new ScoreAdapter(mContext,R.layout.item_cjcx,mScoreList); if(mSemList==null||mSemList.size()==0) { getSemesters(); }else{ mSpinner.setAdapter(semesterAdapter); } mLvScore.setAdapter(mAdapter); mBtnQuery.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { queryScore(); } }); } private void initComponents(View view){ mSpinner = (Spinner) view.findViewById(R.id.sem_sel_spinner); mBtnQuery = (Button) view.findViewById(R.id.btn_query); mLvScore = (ListView) view.findViewById(R.id.lv_scoreList); } public void getSemesters(){ uimsModel.getSemesters(new OnListinfoGetListener() { @Override public void onGetInfoSuccess(List list) { mSemList = list; semesterAdapter = new SemesterAdapter(mContext, R.layout.spinner_item, list); mSpinner.setAdapter(semesterAdapter); } @Override public void onGetInfoFail() { } }); } private void queryScore(){ TermList term = (TermList) mSpinner.getSelectedItem(); if (term == null) return; String terId = term.getTermId(); showDialog(); uimsModel.queryScore(Integer.parseInt(terId), new OnListinfoGetListener() { @Override public void onGetInfoSuccess(List list) { hideDialog(); mScoreList.removeAll(mScoreList); mScoreList.addAll(list); mAdapter.notifyDataSetChanged(); Toast.makeText(mContext, "共查询到" + list.size() + "条记录", Toast.LENGTH_SHORT).show(); } @Override public void onGetInfoFail() { hideDialog(); } }); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { getActivity().getMenuInflater().inflate(R.menu.menu_courselist, menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getItemId()==R.id.action_logout){ logout(); } return super.onOptionsItemSelected(item); } public void logout(){ UIMSModel.getInstance(mContext).logout(); Intent intent = new Intent(mContext,CJCXAuthActivity.class); intent.setAction(ConstValue.UIMS_LOGOUT); startActivity(intent); getActivity().finish(); } }