File was renamed from app_base/src/main/java/com/android/app_base/base/adapter/BaseFragmentAdapter.java |
| | |
| | | package com.android.app_base.base.adapter; |
| | | |
| | | import androidx.annotation.NonNull; |
| | | import androidx.collection.CircularArray; |
| | | import androidx.fragment.app.Fragment; |
| | | import androidx.fragment.app.FragmentActivity; |
| | | import androidx.fragment.app.FragmentManager; |
| | |
| | | import com.android.app_base.base.view.BaseFragment; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.concurrent.atomic.AtomicLong; |
| | | |
| | |
| | | * @date 2023.03.15. 14:36 |
| | | * @desc |
| | | */ |
| | | public class BaseFragmentAdapter<F extends BaseFragment> extends FragmentStateAdapter { |
| | | public class BaseVp2FragmentAdapter<F extends BaseFragment> extends FragmentStateAdapter { |
| | | |
| | | |
| | | /** |
| | |
| | | private ViewPager mViewPager; |
| | | |
| | | |
| | | public BaseFragmentAdapter(@NonNull FragmentActivity fragmentActivity) { |
| | | public BaseVp2FragmentAdapter(@NonNull FragmentActivity fragmentActivity) { |
| | | super(fragmentActivity); |
| | | } |
| | | |
| | | public BaseFragmentAdapter(@NonNull Fragment fragment) { |
| | | public BaseVp2FragmentAdapter(@NonNull Fragment fragment) { |
| | | super(fragment); |
| | | } |
| | | |
| | | public BaseFragmentAdapter(@NonNull FragmentManager fragmentManager, @NonNull Lifecycle lifecycle) { |
| | | public BaseVp2FragmentAdapter(@NonNull FragmentManager fragmentManager, @NonNull Lifecycle lifecycle) { |
| | | super(fragmentManager, lifecycle); |
| | | } |
| | | |
| | |
| | | /** |
| | | * 添加 Fragment |
| | | */ |
| | | public BaseFragmentAdapter<F> addFragment(F fragment) { |
| | | public BaseVp2FragmentAdapter<F> addFragment(F fragment) { |
| | | return addFragment(fragment, null); |
| | | } |
| | | |
| | | public BaseFragmentAdapter<F> addFragment(Fragment fragment, String title) { |
| | | public BaseVp2FragmentAdapter<F> addFragment(Fragment fragment, String title) { |
| | | if (fragment != null) { |
| | | mFragmentList.add(fragment); |
| | | mTitleList.add(title); |
| | |
| | | /** |
| | | * 添加指定位置的Fragment |
| | | */ |
| | | public BaseFragmentAdapter<F> addFragment(int index, Fragment fragment, String title) { |
| | | public BaseVp2FragmentAdapter<F> addFragment(int index, Fragment fragment, String title) { |
| | | if (fragment != null && index >= 0 && index <= mFragmentList.size()) { |
| | | mFragmentList.add(index, fragment); |
| | | mTitleList.add(index, title); |
| | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | public BaseFragmentAdapter<F> removeFragment(int index) { |
| | | public BaseVp2FragmentAdapter<F> removeFragment(int index) { |
| | | if (index >= 0 && index < mFragmentList.size()) { |
| | | mFragmentList.remove(index); |
| | | mTitleList.remove(index); |
| | |
| | | /** |
| | | * 删除所有 |
| | | */ |
| | | public BaseFragmentAdapter<F> removeFragmentAll() { |
| | | public BaseVp2FragmentAdapter<F> removeFragmentAll() { |
| | | mFragmentList.clear(); |
| | | mTitleList.clear(); |
| | | mIds.clear(); |