package com.xiaweizi.qnews.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.ActivityOptionsCompat;
import android.support.v4.app.Fragment;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemChildClickListener;
import com.xiaweizi.qnews.R;
import com.xiaweizi.qnews.activity.TodayDetailActivity;
import com.xiaweizi.qnews.adapter.TodayAdapter;
import com.xiaweizi.qnews.bean.TodayOfHistoryBean;
import com.xiaweizi.qnews.commons.Constants;
import com.xiaweizi.qnews.net.QClitent;
import com.xiaweizi.qnews.net.QNewsService;
import java.util.Calendar;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers;
/**
* 历史上的今天fragment
* <p>
* 工程名: QNews
* 包名: com.xiaweizi.qnews.fragment
* 类名: TodayFragment
* 创建者: 夏韦子
* 创建日期: 2017/2/12
* 创建时间: 15:13
*/
public class TodayFragment extends Fragment {
@BindView (R.id.tb_today)
Toolbar tbToday;
@BindView (R.id.rv_today)
RecyclerView rvToday;
@BindView (R.id.fab)
FloatingActionButton fab;
//历史上今天的适配器
private TodayAdapter adapter;
@Nullable
@Override
public View onCreateView(
LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_today, null);
ButterKnife.bind(this, view);
adapter = new TodayAdapter();
adapter.openLoadAnimation(BaseQuickAdapter.SLIDEIN_BOTTOM);
//悬浮按钮设置点击事件
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (rvToday != null) {
rvToday.smoothScrollToPosition(0);
}
}
});
//recyclerView初始化
rvToday.setLayoutManager(new StaggeredGridLayoutManager(2,
StaggeredGridLayoutManager.VERTICAL));
rvToday.setAdapter(adapter);
rvToday.addOnItemTouchListener(new OnItemChildClickListener() {
@Override
public void onSimpleItemChildClick(BaseQuickAdapter adapter, View view, int position) {
Intent intent = new Intent(getActivity(), TodayDetailActivity.class);
intent.putExtra("e_id",
((TodayOfHistoryBean.ResultBean) adapter.getItem(position)).getE_id());
getActivity().startActivity(intent,
ActivityOptionsCompat.makeSceneTransitionAnimation(
getActivity()).toBundle());
}
});
//获得当前的日期
Calendar calendar = Calendar.getInstance();
final int month = calendar.get(Calendar.MONTH) + 1;
final int day = calendar.get(Calendar.DAY_OF_MONTH);
// tbToday.setTitle("历史上的今天 (" + month + "月" + day + "日)");
String params = month + "/" + day;
//初次加载数据
QClitent.getInstance()
.create(QNewsService.class, Constants.BASE_JUHE_URL)
.getTodayOfHistoryData(params)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<TodayOfHistoryBean>() {
@Override
public void accept(TodayOfHistoryBean todayOfHistoryBean) throws Exception {
List<TodayOfHistoryBean.ResultBean> result = todayOfHistoryBean.getResult();
adapter.addData(result);
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
Toast.makeText(getContext(), "获取数据失败", Toast.LENGTH_SHORT).show();
}
});
// QNewsClient.getInstance().GetTodayOfHistoryData(month, day,
// new QNewsCallback<TodayOfHistoryBean>() {
// @Override
// public void onSuccess(TodayOfHistoryBean response, int id) {
// List<TodayOfHistoryBean.ResultBean> result = response.getResult();
// adapter.addData(result);
// }
//
// @Override
// public void onError(Exception e, int id) {
//
// }
// });
return view;
}
}