From 485c4e60955d1a9e82c9887da7d8b71ad68ad257 Mon Sep 17 00:00:00 2001 From: nilupeng <qingingrunt2010@qq.com> Date: Thu, 11 Aug 2022 09:58:47 +0000 Subject: [PATCH] 合并优化 --- app/src/main/java/com/runt/open/mvvm/base/fragments/BaseTabFragment.java | 20 +++++++++++--------- 1 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/runt/open/mvvm/base/fragments/BaseTabFragment.java b/app/src/main/java/com/runt/open/mvvm/base/fragments/BaseTabFragment.java index f482d6b..bf6878f 100644 --- a/app/src/main/java/com/runt/open/mvvm/base/fragments/BaseTabFragment.java +++ b/app/src/main/java/com/runt/open/mvvm/base/fragments/BaseTabFragment.java @@ -1,12 +1,12 @@ package com.runt.open.mvvm.base.fragments; -import androidx.lifecycle.ViewModel; import androidx.viewbinding.ViewBinding; import androidx.viewpager2.widget.ViewPager2; import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayoutMediator; import com.runt.open.mvvm.base.adapter.FragmentAdapter; +import com.runt.open.mvvm.base.model.BaseViewModel; import java.util.ArrayList; import java.util.Arrays; @@ -16,7 +16,7 @@ * 带有tablayout fragment封装 * Created by Administrator on 2021/11/3 0003. */ -public abstract class BaseTabFragment<B extends ViewBinding,VM extends ViewModel> extends BaseFragment<B,VM> { +public abstract class BaseTabFragment<B extends ViewBinding,VM extends BaseViewModel> extends BaseFragment<B,VM> { TabLayout tabLayout; FragmentAdapter fragmentAdapter; @@ -25,28 +25,30 @@ @Override public void initViews() { - - fragmentAdapter = new FragmentAdapter(activity); - fragmentAdapter.setFragments(initFragments()); setTabTitles(initTabTitles()); //设置当前可见Item左右可见page数,次范围内不会被销毁 //禁用预加载 try { - viewPager2 = (ViewPager2) binding.getClass().getDeclaredField("viewPager2").get(binding); - tabLayout = (TabLayout) binding.getClass().getDeclaredField("tabLayout").get(binding); + viewPager2 = (ViewPager2) mBinding.getClass().getDeclaredField("viewPager2").get(mBinding); + tabLayout = (TabLayout) mBinding.getClass().getDeclaredField("tabLayout").get(mBinding); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (NoSuchFieldException e) { e.printStackTrace(); } - ; viewPager2.setOffscreenPageLimit(ViewPager2.OFFSCREEN_PAGE_LIMIT_DEFAULT); - viewPager2.setAdapter(fragmentAdapter); viewPager2.setCurrentItem(0); viewPager2.setUserInputEnabled(false); //true:滑动,false:禁止滑动 new TabLayoutMediator(tabLayout, viewPager2, (tab, position) -> tab.setText(tabTitles.get(position))).attach(); } + @Override + public void loadData() { + fragmentAdapter = new FragmentAdapter(mActivity); + fragmentAdapter.setFragments(initFragments()); + viewPager2.setAdapter(fragmentAdapter); + } + protected abstract List<String> initTabTitles(); protected abstract List<BaseFragment> initFragments(); -- Gitblit v1.9.1