pull/137/head
FongMi 3 years ago
parent dd1ee6e3c6
commit 5f95952460
  1. 6
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/EpisodeAdapter.java
  2. 17
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/EpisodeFragment.java

@ -23,9 +23,13 @@ public class EpisodeAdapter extends RecyclerView.Adapter<EpisodeAdapter.ViewHold
private final int viewType;
public EpisodeAdapter(OnClickListener listener, int viewType) {
this.mItems = new ArrayList<>();
this(listener, viewType, new ArrayList<>());
}
public EpisodeAdapter(OnClickListener listener, int viewType, ArrayList<Vod.Flag.Episode> items) {
this.mListener = listener;
this.viewType = viewType;
this.mItems = items;
}
public interface OnClickListener {

@ -24,12 +24,15 @@ public class EpisodeFragment extends BaseFragment implements EpisodeAdapter.OnCl
private FragmentEpisodeBinding mBinding;
private SiteViewModel mViewModel;
private EpisodeAdapter mAdapter;
private int getSpanCount() {
return getArguments().getInt("spanCount");
}
private ArrayList<Vod.Flag.Episode> getItems() {
return getArguments().getParcelableArrayList("items");
}
public static EpisodeFragment newInstance(int spanCount, List<Vod.Flag.Episode> items) {
Bundle args = new Bundle();
args.putInt("spanCount", spanCount);
@ -48,25 +51,21 @@ public class EpisodeFragment extends BaseFragment implements EpisodeAdapter.OnCl
protected void initView() {
setRecyclerView();
setViewModel();
setEpisode();
}
private void setRecyclerView() {
EpisodeAdapter adapter;
mBinding.recycler.setHasFixedSize(true);
mBinding.recycler.setItemAnimator(null);
mBinding.recycler.setAdapter(mAdapter = new EpisodeAdapter(this, ViewType.GRID));
mBinding.recycler.setLayoutManager(new GridLayoutManager(getContext(), getSpanCount()));
mBinding.recycler.setAdapter(adapter = new EpisodeAdapter(this, ViewType.GRID, getItems()));
mBinding.recycler.scrollToPosition(adapter.getPosition());
}
private void setViewModel() {
mViewModel = new ViewModelProvider(requireActivity()).get(SiteViewModel.class);
}
private void setEpisode() {
mAdapter.addAll(getArguments().getParcelableArrayList("items"));
mBinding.recycler.setLayoutManager(new GridLayoutManager(getContext(), getSpanCount()));
mBinding.recycler.scrollToPosition(mAdapter.getPosition());
}
@Override
public void onItemClick(Vod.Flag.Episode item) {
mViewModel.setEpisode(item);

Loading…
Cancel
Save