diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2016-02-10 17:36:02 +0100 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2016-02-10 17:36:02 +0100 |
commit | da6dfb57a0aa816919cd23752e1707ba6a2e8cae (patch) | |
tree | d6ede03785491d4c56b10cad9062b8bcac3ea78b /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/PagerTabStripAdapter.java | |
parent | 01b165ea88a032f31b8c2ff07351d3f893f6413d (diff) | |
parent | 751298a4d832f316244fd6345c46ba806dcfc860 (diff) | |
download | open-keychain-da6dfb57a0aa816919cd23752e1707ba6a2e8cae.tar.gz open-keychain-da6dfb57a0aa816919cd23752e1707ba6a2e8cae.tar.bz2 open-keychain-da6dfb57a0aa816919cd23752e1707ba6a2e8cae.zip |
Merge branch 'master' into performance
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/PagerTabStripAdapter.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/PagerTabStripAdapter.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/PagerTabStripAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/PagerTabStripAdapter.java index 7b911da96..5c5c87a2a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/PagerTabStripAdapter.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/PagerTabStripAdapter.java @@ -22,12 +22,15 @@ import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v7.app.AppCompatActivity; +import android.util.SparseArray; +import android.view.ViewGroup; import java.util.ArrayList; public class PagerTabStripAdapter extends FragmentPagerAdapter { protected final Activity mActivity; protected final ArrayList<TabInfo> mTabs = new ArrayList<>(); + SparseArray<Fragment> registeredFragments = new SparseArray<Fragment>(); static final class TabInfo { public final Class<?> clss; @@ -72,4 +75,21 @@ public class PagerTabStripAdapter extends FragmentPagerAdapter { public CharSequence getPageTitle(int position) { return mTabs.get(position).title; } + + @Override + public Object instantiateItem(ViewGroup container, int position) { + Fragment fragment = (Fragment) super.instantiateItem(container, position); + registeredFragments.put(position, fragment); + return fragment; + } + + @Override + public void destroyItem(ViewGroup container, int position, Object object) { + registeredFragments.remove(position); + super.destroyItem(container, position, object); + } + + public Fragment getRegisteredFragment(int position) { + return registeredFragments.get(position); + } } |