package com.sjl.yuehu.ui.fragment; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.facebook.stetho.common.LogUtil; import com.sjl.yuehu.R; import com.sjl.yuehu.data.bean.ThemesBean; import com.sjl.yuehu.mvp.presenter.ThemePageFgPresenter; import com.sjl.yuehu.mvp.view.ThemePageFgMvpView; import com.sjl.yuehu.ui.activity.WebViewAct; import com.sjl.yuehu.ui.adapter.ThemeAdapter; import com.sjl.yuehu.ui.base.BaseFg; import javax.inject.Inject; import butterknife.Bind; import butterknife.ButterKnife; /** * Created by 小鹿 on 2017/2/7. */ public class ThemePageFg extends BaseFg implements ThemePageFgMvpView, ThemeAdapter.OnClickListener, SwipeRefreshLayout.OnRefreshListener { @Bind(R.id.rv) RecyclerView rv; @Inject ThemePageFgPresenter presenter; String theme; @Bind(R.id.refresh) SwipeRefreshLayout refresh; private ThemeAdapter adapter; private View rootView; private LinearLayoutManager linearLayoutManager; private boolean isrefresh=true; private int id; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { if (rootView == null) { getFragmentComponent().inject(this); rootView = View.inflate(getContext(), R.layout.themepage_fg, null); ButterKnife.bind(this, rootView); presenter.attachView(this); init(); } else { ViewGroup parent = (ViewGroup) rootView.getParent(); if (parent != null) { parent.removeView(rootView); } } return rootView; } private void init() { Bundle arguments = getArguments(); if (arguments != null) { id = arguments.getInt("id"); theme = arguments.getString("theme"); presenter.onLoad(id); } linearLayoutManager=new LinearLayoutManager(getContext()); rv.setLayoutManager(linearLayoutManager); adapter = new ThemeAdapter(getContext(), this); rv.setAdapter(adapter); setRefresh(); } private void setRefresh() { refresh.setOnRefreshListener(this); refresh.setColorSchemeResources(R.color.colorPrimary); rv.addOnScrollListener(new RecyclerView.OnScrollListener() { public int lastVisibleItemPosition; @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if (newState == RecyclerView.SCROLL_STATE_IDLE && lastVisibleItemPosition + 1 == adapter.getItemCount()) { isrefresh = false; long time=System.currentTimeMillis()/1000;//获取系统时间的10位的时间戳 String timestamp=String.valueOf(time); presenter.onLoadGone(timestamp,id); LogUtil.e(id + "+++++++++++++++++++++++++++++++++++++++++++++"); LogUtil.e(timestamp + "+++++++++++++++++++++++++++++++++++++++++++++"); } } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); lastVisibleItemPosition = linearLayoutManager.findLastVisibleItemPosition(); } }); } @Override public String getFragmentTitle() { if (theme != null) { return theme; } else { return ""; } } @Override public void onDestroyView() { super.onDestroyView(); ButterKnife.unbind(this); } @Override public void onLoad(ThemesBean bean) { if (refresh.isRefreshing()) { refresh.setRefreshing(false); } if (bean != null) { adapter.addData(bean,isrefresh); adapter.notifyDataSetChanged(); } } @Override public void click(int id) { Intent intent = new Intent(getContext(), WebViewAct.class); intent.putExtra("id", id); startActivity(intent); } @Override public void onRefresh() { isrefresh = true; presenter.onLoad(id); } }