diff options
Diffstat (limited to 'app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabScheduledPageAdapter.java')
-rw-r--r-- | app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabScheduledPageAdapter.java | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabScheduledPageAdapter.java b/app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabScheduledPageAdapter.java index 6b758bed7..916860bdd 100644 --- a/app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabScheduledPageAdapter.java +++ b/app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabScheduledPageAdapter.java @@ -15,26 +15,39 @@ package app.fedilab.android.ui.pageadapter; * see <http://www.gnu.org/licenses>. */ import android.os.Bundle; +import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentActivity; -import androidx.viewpager2.adapter.FragmentStateAdapter; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentStatePagerAdapter; import app.fedilab.android.client.entities.app.Timeline; import app.fedilab.android.helper.Helper; import app.fedilab.android.ui.fragment.timeline.FragmentScheduled; -public class FedilabScheduledPageAdapter extends FragmentStateAdapter { +public class FedilabScheduledPageAdapter extends FragmentStatePagerAdapter { + private Fragment mCurrentFragment; + public FedilabScheduledPageAdapter(FragmentManager fm) { + super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT); + } + + public Fragment getCurrentFragment() { + return mCurrentFragment; + } - public FedilabScheduledPageAdapter(FragmentActivity fa) { - super(fa); + @Override + public void setPrimaryItem(@NonNull ViewGroup container, int position, @NonNull Object object) { + if (getCurrentFragment() != object) { + mCurrentFragment = ((Fragment) object); + } + super.setPrimaryItem(container, position, object); } @NonNull @Override - public Fragment createFragment(int position) { + public Fragment getItem(int position) { Bundle bundle = new Bundle(); bundle.putString(Helper.ARG_VIEW_MODEL_KEY, "FEDILAB_" + position); FragmentScheduled fragmentScheduled = new FragmentScheduled(); @@ -53,7 +66,7 @@ public class FedilabScheduledPageAdapter extends FragmentStateAdapter { } @Override - public int getItemCount() { + public int getCount() { return 3; } -} +}
\ No newline at end of file |