normalized how we were using tab layouts between different fragments.
This commit is contained in:
parent
d25d93964b
commit
6ae33e1c5d
@ -1,60 +0,0 @@
|
||||
package de.danoeh.antennapod.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentPagerAdapter;
|
||||
|
||||
import de.danoeh.antennapod.R;
|
||||
import de.danoeh.antennapod.activity.MainActivity;
|
||||
import de.danoeh.antennapod.fragment.AllEpisodesFragment;
|
||||
import de.danoeh.antennapod.fragment.NewEpisodesFragment;
|
||||
|
||||
public class EpisodesPagerAdapter extends FragmentPagerAdapter {
|
||||
|
||||
private final Context context;
|
||||
|
||||
// this determines the order the tabs appear in
|
||||
private String tabTags[] = new String[] {NewEpisodesFragment.TAG, AllEpisodesFragment.TAG};
|
||||
private String tabTitles[] = new String[tabTags.length];
|
||||
|
||||
public EpisodesPagerAdapter(FragmentManager fm, Context context) {
|
||||
super(fm);
|
||||
this.context = context;
|
||||
tabTitles = new String[tabTags.length];
|
||||
for (int i = 0; i < tabTags.length; i++) {
|
||||
String title = null;
|
||||
switch (tabTags[i]) {
|
||||
case AllEpisodesFragment.TAG:
|
||||
title = context.getResources().getString(R.string.all_episodes_label);
|
||||
break;
|
||||
case NewEpisodesFragment.TAG:
|
||||
title = context.getResources().getString(R.string.new_episodes_label);
|
||||
break;
|
||||
}
|
||||
tabTitles[i] = title;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
String tag = tabTags[position];
|
||||
switch (tag) {
|
||||
case AllEpisodesFragment.TAG:
|
||||
return new AllEpisodesFragment();
|
||||
case NewEpisodesFragment.TAG:
|
||||
return new NewEpisodesFragment();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return tabTags.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getPageTitle(int position) {
|
||||
return tabTitles[position];
|
||||
}
|
||||
}
|
@ -12,7 +12,6 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import de.danoeh.antennapod.R;
|
||||
import de.danoeh.antennapod.adapter.EpisodesPagerAdapter;
|
||||
|
||||
/**
|
||||
* Shows the CompletedDownloadsFragment and the RunningDownloadsFragment
|
||||
|
@ -2,9 +2,12 @@ package de.danoeh.antennapod.fragment;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.support.design.widget.TabLayout;
|
||||
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.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@ -12,12 +15,17 @@ import android.view.ViewGroup;
|
||||
|
||||
import de.danoeh.antennapod.R;
|
||||
import de.danoeh.antennapod.activity.MainActivity;
|
||||
import de.danoeh.antennapod.adapter.EpisodesPagerAdapter;
|
||||
|
||||
public class EpisodesFragment extends Fragment {
|
||||
|
||||
public static final String TAG = "EpisodesFragment";
|
||||
private static final String PREF_LAST_TAB_POSITION = "tab_position";
|
||||
|
||||
public static final int POS_NEW_EPISODES = 0;
|
||||
public static final int POS_ALL_EPISODES = 1;
|
||||
public static final int TOTAL_COUNT = 2;
|
||||
|
||||
|
||||
private TabLayout tabLayout;
|
||||
private ViewPager viewPager;
|
||||
|
||||
@ -36,9 +44,9 @@ public class EpisodesFragment extends Fragment {
|
||||
setHasOptionsMenu(true);
|
||||
((MainActivity) getActivity()).getSupportActionBar().setTitle(R.string.episodes_label);
|
||||
|
||||
View rootView = inflater.inflate(R.layout.episodes_fragment, container, false);
|
||||
View rootView = inflater.inflate(R.layout.pager_fragment, container, false);
|
||||
viewPager = (ViewPager)rootView.findViewById(R.id.viewpager);
|
||||
viewPager.setAdapter(new EpisodesPagerAdapter(getChildFragmentManager(), getActivity()));
|
||||
viewPager.setAdapter(new EpisodesPagerAdapter(getChildFragmentManager(), getResources()));
|
||||
|
||||
// Give the TabLayout the ViewPager
|
||||
tabLayout = (TabLayout) rootView.findViewById(R.id.sliding_tabs);
|
||||
@ -67,4 +75,41 @@ public class EpisodesFragment extends Fragment {
|
||||
viewPager.setCurrentItem(lastPosition);
|
||||
}
|
||||
|
||||
public static class EpisodesPagerAdapter extends FragmentPagerAdapter {
|
||||
|
||||
private final Resources resources;
|
||||
|
||||
public EpisodesPagerAdapter(FragmentManager fm, Resources resources) {
|
||||
super(fm);
|
||||
this.resources = resources;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
switch (position) {
|
||||
case POS_ALL_EPISODES:
|
||||
return new AllEpisodesFragment();
|
||||
case POS_NEW_EPISODES:
|
||||
return new NewEpisodesFragment();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return TOTAL_COUNT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getPageTitle(int position) {
|
||||
switch (position) {
|
||||
case POS_ALL_EPISODES:
|
||||
return resources.getString(R.string.all_episodes_label);
|
||||
case POS_NEW_EPISODES:
|
||||
return resources.getString(R.string.new_episodes_label);
|
||||
default:
|
||||
return super.getPageTitle(position);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,20 +0,0 @@
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<android.support.design.widget.TabLayout
|
||||
android:id="@+id/sliding_tabs"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:tabMode="scrollable" />
|
||||
|
||||
<android.support.v4.view.ViewPager
|
||||
android:id="@+id/viewpager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0px"
|
||||
android:layout_weight="1" />
|
||||
|
||||
</LinearLayout>
|
Loading…
x
Reference in New Issue
Block a user