package me.cyning.news.ui;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.widget.SwipeRefreshLayout;
import android.view.View;
import android.widget.ListView;
import com.jumige.android.ui.template.base.BaseFragment;
import java.util.ArrayList;
import cyning.me.libnerss.rss.Channel.ArticleItem;
import cyning.me.libnerss.rss.Channel.ChanInfo;
import cyning.me.libnerss.rss.Channel.handlers.ArticleListHandler;
import cyning.me.libnerss.rss.NetEaseClient;
import me.cyning.news.R;
import me.cyning.news.ui.adapters.NewsAdapters;
/**
* Author: cyning
* Date : 2015.04.22
* Time : 下午6:33
* Desc : 类/接口描述
*/
public class ArticleListFragment extends BaseFragment implements SwipeRefreshLayout.OnRefreshListener{
public static final String TAG_CHANNEL = "TAG_CHANNEL";
private ListView mListView;
private SwipeRefreshLayout mSwipeRefreshLayout;
private NewsAdapters mNewsAdapters;
private ChanInfo mChanInfo;
public static ArticleListFragment newInstance(ChanInfo _chanInfo){
ArticleListFragment mDetailFragment = new ArticleListFragment();
Bundle mBundle = new Bundle();
mBundle.putParcelable(TAG_CHANNEL,_chanInfo);
mDetailFragment.setArguments(mBundle);
return mDetailFragment;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null && getArguments().getParcelable(TAG_CHANNEL) != null){
mChanInfo = savedInstanceState.getParcelable(TAG_CHANNEL);
}else{
mChanInfo = getArguments().getParcelable(TAG_CHANNEL);
}
request(0L);
}
ArticleListHandler mArticleListHandler = new ArticleListHandler(){
@Override
public void onSuccess(ArrayList<ArticleItem> mArticals) {
mNewsAdapters.setList(mArticals);
mSwipeRefreshLayout.setRefreshing(false);
}
};
private void request(long pageNO){
requestInfo(mChanInfo.getTid(),mChanInfo.isHeadLine(),pageNO,mArticleListHandler);
}
private void requestInfo(String tid,boolean isHeadLine,long pageNo,ArticleListHandler mHandler){
mArticleListHandler.setTag(tid);
NetEaseClient.getInstance().getArticleList(tid,isHeadLine,pageNo,mHandler);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
protected int getRootViewId() {
return R.layout.fragment_news_detail;
}
@Override
protected void setupViews(View view) {
super.setupViews(view);
mSwipeRefreshLayout = v(view,R.id.swipeL);
mSwipeRefreshLayout.setOnRefreshListener(this);
mListView = v(view,R.id.lvArcticals);
mNewsAdapters = new NewsAdapters(this);
mListView.setAdapter(mNewsAdapters);
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putParcelable(TAG_CHANNEL,mChanInfo);
}
@Override
public void onRefresh() {
request(0L);
}
}