package com.forezp.banya.viewimpl.film; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.forezp.banya.Presenter.DoubanFilmPresenter; import com.forezp.banya.R; import com.forezp.banya.adapter.FilmLiveAdapter; import com.forezp.banya.base.BaseFragment; import com.forezp.banya.base.EasyRecyclerViewAdapter; import com.forezp.banya.bean.filmlive.FilmLive; import com.forezp.banya.utils.ThemeUtils; import com.forezp.banya.viewimpl.filmdetail.FilmDetailActivity; import com.forezp.banya.viewinterface.film.IGetFilmLiveView; import com.forezp.banya.widget.SpacesItemDecoration; import butterknife.BindView; import butterknife.ButterKnife; import forezp.com.douyalibrary.utils.ScreenUtils; /** * Created by forezp on 16/9/22. */ public class FilmLiveFragment extends BaseFragment implements IGetFilmLiveView,SwipeRefreshLayout.OnRefreshListener { @BindView(R.id.recyclerview) RecyclerView recyclerview; @BindView(R.id.id_swiperefreshlayout) SwipeRefreshLayout idSwiperefreshlayout; private DoubanFilmPresenter doubanFilmPresenter; private FilmLiveAdapter filmLiveAdapter; public static FilmLiveFragment newInstance() { Bundle args = new Bundle(); FilmLiveFragment fragment = new FilmLiveFragment(); fragment.setArguments(args); return fragment; } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_fim_live, container, false); ButterKnife.bind(this, view); return view; } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); filmLiveAdapter = new FilmLiveAdapter(getActivity()); doubanFilmPresenter = new DoubanFilmPresenter(getActivity()); doubanFilmPresenter.getFilmLive(this); idSwiperefreshlayout.setColorSchemeColors(ThemeUtils.getThemeColor()); idSwiperefreshlayout.setOnRefreshListener(this); recyclerview.setLayoutManager(new GridLayoutManager(getActivity(), 3)); SpacesItemDecoration spacesItemDecoration=new SpacesItemDecoration(ScreenUtils.dipToPx(getActivity(),10),ScreenUtils.dipToPx(getActivity(),10),ScreenUtils.dipToPx(getActivity(),10),0); recyclerview.addItemDecoration(spacesItemDecoration); recyclerview.setAdapter(filmLiveAdapter); } @Override public boolean hasMultiFragment() { return false; } @Override protected String setFragmentName() { return null; } @Override public void getFilmLiveSuccess(FilmLive filmLive) { filmLiveAdapter.setDatas(filmLive.getSubjects()); filmLiveAdapter.notifyDataSetChanged(); filmLiveAdapter.setOnItemClickListener(new EasyRecyclerViewAdapter.OnItemClickListener() { @Override public void OnItemClick(View view, int position, Object data) { Intent intent=new Intent(getActivity(),FilmDetailActivity.class); intent.putExtra(FilmDetailActivity.EXTRA_ID,filmLive.getSubjects().get(position).getId()); startThActivityByIntent(intent); } }); } @Override public void getDataFail() { } @Override public void onRefresh() { doubanFilmPresenter.getFilmLive(this); idSwiperefreshlayout.postDelayed(new Runnable() { @Override public void run() { if (idSwiperefreshlayout != null) { idSwiperefreshlayout.setRefreshing(false); } } },2000); } }