package com.roboo.qiushibaike.fragment;
import java.util.LinkedList;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.roboo.qiushibaike.R;
import com.roboo.qiushibaike.adapter.QiuShiListAdapter;
import com.roboo.qiushibaike.model.QiuShiItem;
import com.roboo.qiushibaike.ptr.PullToRefreshBase.Mode;
import com.roboo.qiushibaike.ptr.PullToRefreshListView;
import com.roboo.qiushibaike.utils.QSBKUtils;
import com.roboo.qiushibaike.view.RoundProgressBar;
public class UserQiuShiFragment extends Fragment
{
private PullToRefreshListView mPTRListView;
private RoundProgressBar mRoundProgressBar;
private TextView mTextView;
private LinkedList<QiuShiItem> mData;
private QiuShiListAdapter mAdapter;
private QiuShiItem mItem;
private ProgressBar mBar;
private GetDataTask mGetDataTask = new GetDataTask();
public static UserQiuShiFragment newInstance(QiuShiItem item)
{
Bundle bundle = new Bundle();
bundle.putSerializable("item", item);
UserQiuShiFragment mainFragment = new UserQiuShiFragment();
mainFragment.setArguments(bundle);
return mainFragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
mItem = (QiuShiItem) getArguments().getSerializable("item");
View view = inflater.inflate(R.layout.ptr_listview, null);
mPTRListView = (PullToRefreshListView) view.findViewById(R.id.ptr_listview);
mTextView = (TextView) view.findViewById(R.id.tv_text);
mRoundProgressBar = (RoundProgressBar) view.findViewById(R.id.roundProgressBar);
mBar = (ProgressBar) view.findViewById(R.id.pb_progress);
mBar.setVisibility(View.VISIBLE);
mRoundProgressBar.setVisibility(View.INVISIBLE);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
mPTRListView.setMode(Mode.DISABLED);
if(null == mGetDataTask)
{
mGetDataTask = new GetDataTask();
}
mGetDataTask.execute();
}
@Override
public void onPause()
{
super.onPause();
mGetDataTask.cancel(true);
}
public class GetDataTask extends AsyncTask<String, Float, LinkedList<QiuShiItem>>
{
@Override
protected LinkedList<QiuShiItem> doInBackground(String... params)
{
LinkedList<QiuShiItem> data = QSBKUtils.handleUserQiuSHiData(mItem);
return data;
}
@Override
protected void onPostExecute(LinkedList<QiuShiItem> result)
{
mPTRListView.onRefreshComplete();
super.onPostExecute(result);
if (result != null)
{
mBar.setVisibility(View.GONE);
mTextView.setVisibility(View.GONE);
mTextView.setVisibility(View.GONE);
mRoundProgressBar.setVisibility(View.GONE);
if (null == mData)
{
mData = new LinkedList<QiuShiItem>();
mData.addAll(result);
mAdapter = new QiuShiListAdapter(getActivity(), mData,true);
mPTRListView.setAdapter(mAdapter);
}
}
}
}
}