package ru.noties.scrollable.sample.pager.fragment;
import android.os.Bundle;
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 java.util.List;
import ru.noties.scrollable.sample.R;
import ru.noties.scrollable.sample.ViewTypeItem;
import ru.noties.scrollable.sample.ItemsGenerator;
import ru.noties.vt.ViewTypesAdapter;
public class FragmentPagerFragmentRecyclerView extends FragmentPagerFragment {
private RecyclerView mRecyclerView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle sis) {
return inflater.inflate(R.layout.fragment_pager_recycler_view, parent, false);
}
@Override
public void onViewCreated(View view, Bundle sis) {
super.onViewCreated(view, sis);
mRecyclerView = findView(R.id.recycler_view);
mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
mRecyclerView.setHasFixedSize(true);
final ViewTypesAdapter<String> adapter = ViewTypesAdapter.builder(String.class)
.register(String.class, new ViewTypeItem())
.setHasStableIds(false)
.build(getContext());
final List<String> list = ItemsGenerator.generate(100);
adapter.setItems(list);
mRecyclerView.setAdapter(adapter);
}
@Override
public boolean canScrollVertically(int direction) {
return mRecyclerView != null && mRecyclerView.canScrollVertically(direction);
}
@Override
public void onFlingOver(int y, long duration) {
if (mRecyclerView != null) {
mRecyclerView.smoothScrollBy(0, y);
}
}
}