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.database.Cursor;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.support.v4.app.Fragment;
|
||||||
import android.support.v4.app.LoaderManager.LoaderCallbacks;
|
import android.support.v4.app.LoaderManager.LoaderCallbacks;
|
||||||
import android.support.v4.content.Loader;
|
import android.support.v4.content.Loader;
|
||||||
import android.support.v7.widget.DividerItemDecoration;
|
import android.support.v7.widget.DividerItemDecoration;
|
||||||
|
@ -24,6 +25,11 @@ public abstract class BaseLiveListFragment extends RecyclerViewFragment implemen
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onRecyclerViewCreated(RecyclerView recyclerView, Bundle savedInstanceState) {
|
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.setLayoutManager(new LinearLayoutManager(recyclerView.getContext()));
|
||||||
recyclerView.addItemDecoration(new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL));
|
recyclerView.addItemDecoration(new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL));
|
||||||
recyclerView.setAdapter(adapter);
|
recyclerView.setAdapter(adapter);
|
||||||
|
|
|
@ -6,28 +6,49 @@ import android.support.v4.app.Fragment;
|
||||||
import android.support.v4.app.FragmentManager;
|
import android.support.v4.app.FragmentManager;
|
||||||
import android.support.v4.app.FragmentPagerAdapter;
|
import android.support.v4.app.FragmentPagerAdapter;
|
||||||
import android.support.v4.view.ViewPager;
|
import android.support.v4.view.ViewPager;
|
||||||
|
import android.support.v7.widget.RecyclerView;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import be.digitalia.fosdem.R;
|
||||||
import be.digitalia.fosdem.widgets.SlidingTabLayout;
|
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
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
View view = inflater.inflate(R.layout.fragment_live, container, false);
|
View view = inflater.inflate(R.layout.fragment_live, container, false);
|
||||||
|
|
||||||
ViewPager pager = (ViewPager) view.findViewById(R.id.pager);
|
holder = new ViewHolder();
|
||||||
pager.setAdapter(new LivePagerAdapter(getChildFragmentManager(), getResources()));
|
holder.pager = (ViewPager) view.findViewById(R.id.pager);
|
||||||
SlidingTabLayout slidingTabs = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs);
|
holder.pager.setAdapter(new LivePagerAdapter(getChildFragmentManager(), getResources()));
|
||||||
slidingTabs.setViewPager(pager);
|
holder.slidingTabs = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs);
|
||||||
|
holder.slidingTabs.setViewPager(holder.pager);
|
||||||
|
holder.recycledViewPool = new RecyclerView.RecycledViewPool();
|
||||||
|
|
||||||
return view;
|
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 static class LivePagerAdapter extends FragmentPagerAdapter {
|
||||||
|
|
||||||
private final Resources resources;
|
private final Resources resources;
|
||||||
|
|
Loading…
Reference in a new issue