mirror of
https://github.com/MatomoCamp/matomocamp-companion-android.git
synced 2024-09-19 16:13:46 +02:00
NextLiveListFragment and NowLiveListFragment now share the same RecycledViewPool
This commit is contained in:
parent
6246671c38
commit
1348da72d4
2 changed files with 33 additions and 6 deletions
|
@ -2,6 +2,7 @@ package be.digitalia.fosdem.fragments;
|
|||
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.LoaderManager.LoaderCallbacks;
|
||||
import android.support.v4.content.Loader;
|
||||
import android.support.v7.widget.DividerItemDecoration;
|
||||
|
@ -24,6 +25,11 @@ public abstract class BaseLiveListFragment extends RecyclerViewFragment implemen
|
|||
|
||||
@Override
|
||||
protected void onRecyclerViewCreated(RecyclerView recyclerView, Bundle savedInstanceState) {
|
||||
Fragment parentFragment = getParentFragment();
|
||||
if (parentFragment instanceof RecycledViewPoolProvider) {
|
||||
recyclerView.setRecycledViewPool(((RecycledViewPoolProvider) parentFragment).getRecycledViewPool());
|
||||
}
|
||||
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext()));
|
||||
recyclerView.addItemDecoration(new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL));
|
||||
recyclerView.setAdapter(adapter);
|
||||
|
|
|
@ -6,28 +6,49 @@ import android.support.v4.app.Fragment;
|
|||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentPagerAdapter;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import be.digitalia.fosdem.R;
|
||||
import be.digitalia.fosdem.widgets.SlidingTabLayout;
|
||||
|
||||
import be.digitalia.fosdem.R;
|
||||
public class LiveFragment extends Fragment implements RecycledViewPoolProvider {
|
||||
|
||||
public class LiveFragment extends Fragment {
|
||||
static class ViewHolder {
|
||||
ViewPager pager;
|
||||
SlidingTabLayout slidingTabs;
|
||||
RecyclerView.RecycledViewPool recycledViewPool;
|
||||
}
|
||||
|
||||
private ViewHolder holder;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_live, container, false);
|
||||
|
||||
ViewPager pager = (ViewPager) view.findViewById(R.id.pager);
|
||||
pager.setAdapter(new LivePagerAdapter(getChildFragmentManager(), getResources()));
|
||||
SlidingTabLayout slidingTabs = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs);
|
||||
slidingTabs.setViewPager(pager);
|
||||
holder = new ViewHolder();
|
||||
holder.pager = (ViewPager) view.findViewById(R.id.pager);
|
||||
holder.pager.setAdapter(new LivePagerAdapter(getChildFragmentManager(), getResources()));
|
||||
holder.slidingTabs = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs);
|
||||
holder.slidingTabs.setViewPager(holder.pager);
|
||||
holder.recycledViewPool = new RecyclerView.RecycledViewPool();
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
holder = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RecyclerView.RecycledViewPool getRecycledViewPool() {
|
||||
return (holder == null) ? null : holder.recycledViewPool;
|
||||
}
|
||||
|
||||
private static class LivePagerAdapter extends FragmentPagerAdapter {
|
||||
|
||||
private final Resources resources;
|
||||
|
|
Loading…
Reference in a new issue