public abstract class BaseFragment extends Fragment {
    private View rootView;
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        rootView = inflater.inflate(initlayout(),container,false);
        inittablayout(rootView,getLayoutInflater());
        initviewpager(rootView);
        return rootView;
    }
    protected void initviewpager(View rootView) {
    }
    protected void inittablayout(View rootView,LayoutInflater inflater) {
    }
    protected abstract int initlayout();
----------------------------------------------------------------------------------------------------------------------------
public  class HomePageFragment extends BaseFragment {
 
    private ViewPager viewPager_homefragment;
    private TabLayout tabLayout_homefragemnt;
    private TextView tabtitle_homepagefragment;
    private String tabtitle_homefragments[] = {"推荐", "零食", "男装", "女装", "母婴", "数码家电", "美妆护肤"};
    protected int initlayout() {
        return R.layout.fragment_homepage;
    }
    protected void initviewpager(View rootView) {
        viewPager_homefragment = rootView.findViewById(R.id.viewpager_homefragment);
        HomefragmentAdapter homefragmentAdapter = new HomefragmentAdapter(getChildFragmentManager(), tabtitle_homefragments);
        viewPager_homefragment.setAdapter(homefragmentAdapter);
    }
    protected void inittablayout(View rootView,LayoutInflater inflater) {
        tabLayout_homefragemnt = rootView.findViewById(R.id.tablayout_homefragment);
        //实现自定义tab
        for (int i = 0; i < 7; i++) {
            //实例化tab
            TabLayout.Tab tab = tabLayout_homefragemnt.newTab();
            View view = inflater.inflate(R.layout.tabview_homepagefragment, null);
            //为tab设置自定义视图
            tab.setCustomView(view);
            tabtitle_homepagefragment = view.findViewById(R.id.tabtitle_homepagefragment);
            //添加标题
            tabtitle_homepagefragment.setText(tabtitle_homefragments[i]);
            //添加tab
            tabLayout_homefragemnt.addTab(tab);
            // 设置第一个tab为大号字体
            if (tab.getPosition() == 0) {
                tabtitle_homepagefragment = tab.getCustomView().findViewById(R.id.tabtitle_homepagefragment);
                tabtitle_homepagefragment.setTextSize(15);
            }
        }
            viewPager_homefragment.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout_homefragemnt));
            tabLayout_homefragemnt.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
                @Override
                public void onTabSelected(TabLayout.Tab tab) {
                    //viewpager跳转到指定页面
                    viewPager_homefragment.setCurrentItem(tab.getPosition());
                    tabtitle_homepagefragment = tab.getCustomView().findViewById(R.id.tabtitle_homepagefragment);
                    tabtitle_homepagefragment.setTextSize(15);
                }
                @Override
                public void onTabUnselected(TabLayout.Tab tab) {
                    tabtitle_homepagefragment.setTextSize(13);
                }
                @Override
                public void onTabReselected(TabLayout.Tab tab) {
                }
            });
        }
logcat报错:
ava.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.view.ViewPager.addOnPageChangeListener(android.support.v4.view.ViewPager$OnPageChangeListener)' on a null object reference
您的每一个用心回答,都会让这个世界变得更美好一些!