package io.github.javiewer.fragment.genre; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.StaggeredGridLayoutManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import java.util.ArrayList; import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; import io.github.javiewer.JAViewer; import io.github.javiewer.R; import io.github.javiewer.adapter.GenreAdapter; import io.github.javiewer.adapter.item.Genre; import io.github.javiewer.view.ViewUtil; import jp.wasabeef.recyclerview.animators.SlideInUpAnimator; import okhttp3.ResponseBody; import retrofit2.Call; public class GenreFragment extends Fragment { protected List<Genre> genres = new ArrayList<>(); @BindView(R.id.genre_recycler_view) public RecyclerView mRecyclerView; private RecyclerView.Adapter mAdapter; private StaggeredGridLayoutManager mLayoutManager; public GenreFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_genre_list, container, false); ButterKnife.bind(this, view); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); this.mRecyclerView.setPadding( ViewUtil.dpToPx(1), ViewUtil.dpToPx(1), ViewUtil.dpToPx(1), ViewUtil.dpToPx(1) ); mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)); mRecyclerView.setAdapter(this.mAdapter = new GenreAdapter(genres, this.getActivity())); RecyclerView.ItemAnimator animator = new SlideInUpAnimator(); animator.setAddDuration(300); mRecyclerView.setItemAnimator(animator); this.mAdapter.notifyItemRangeInserted(0, this.mAdapter.getItemCount()); } public Call<ResponseBody> getCall(int page) { return JAViewer.SERVICE.getActresses(page); } public List<Genre> getGenres() { return genres; } public RecyclerView.Adapter getAdapter() { return mAdapter; } }