/** * @author UFreedom * @since 2014 2014-10-1 下午5:32:02 * @see www.52yummy.com * <br> * sunfreedom@sina.cn * <br> * Copyright (C) 2014 UFreedom. All Rights Reserved. */ package com.codecomb.views; import java.util.ArrayList; import java.util.List; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Log; 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.ListView; import android.widget.Toast; import com.codecomb.Constants; import com.codecomb.module.clarifications.Clarification; import com.codecomb.module.clarifications.ClarificationManager; import com.codecomb.ufreedom.R; import com.codecomb.views.adapter.ClarificationAdapter; public class ClarificationFragment extends Fragment { private static final String TAG = ClarificationFragment.class.getSimpleName(); public static final String EXTRA_CONTEST_ID = "contest_id"; private int contestID; private View rootView; private ListView lvClarification; private View vBack; private ClarificationAdapter clarificationAdapter; private List<Clarification> clarifications; public static ClarificationFragment newInstance(int contestID){ Bundle bundle = new Bundle(); bundle.putInt(EXTRA_CONTEST_ID, contestID); ClarificationFragment fragment = new ClarificationFragment(); fragment.setArguments(bundle); return fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); contestID = getArguments().getInt(EXTRA_CONTEST_ID); Toast.makeText(getActivity(), "Contest Id :" + contestID, Toast.LENGTH_SHORT).show(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rootView = inflater.inflate(R.layout.fgm_clarification, container, false); rootView.findViewById(R.id.vBack).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { getActivity().finish(); } }); initListView(); initListViewListener(); return rootView; } private void initListViewListener() { lvClarification.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Clarification clarification = (Clarification) lvClarification.getItemAtPosition(position); Intent intent = new Intent(getActivity(),ResponseClarificationActivity.class); intent.putExtra(ResponseClarificationFragment.EXTRA_CLARFICATION, clarification); startActivity(intent); } }); } private void initListView() { lvClarification = (ListView) rootView.findViewById(R.id.lvClarification); clarifications = new ArrayList<Clarification>(); clarificationAdapter = new ClarificationAdapter(getActivity(), clarifications); lvClarification.setAdapter(clarificationAdapter); new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void... params) { List<Clarification> clarifications = ClarificationManager.getInstance().getClarifications(contestID); for (Clarification clarification : clarifications) { Log.e(TAG, "Clarification:"+clarification.toString()); } clarificationAdapter = new ClarificationAdapter(getActivity(), clarifications); return null; } @Override protected void onPostExecute(Void result) { lvClarification.setAdapter(clarificationAdapter); super.onPostExecute(result); } }.execute(); } }