package com.aries.library.fast.i;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.ViewGroup;

import com.aries.library.fast.entity.FastTabEntity;
import com.aries.ui.view.tab.CommonTabLayout;
import com.aries.ui.view.tab.listener.OnTabSelectListener;

import java.util.List;

import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import com.aries.library.fast.R;

/**
 * @Author: AriesHoo on 2018/7/20 17:07
 * @E-Mail: AriesHoo@126.com
 * Function: 包含CommonTabLayout的主页面Activity/Fragment
 * Description:1、2019-7-5 15:05:42 增加 getContainerViewId以解决多层Fragment嵌套id相同后造成Fragmen加载错误问题
 */
public interface IFastMainView extends OnTabSelectListener {

    /**
     * 控制主界面Fragment是否可滑动切换
     *
     * @return true 可滑动切换(配合ViewPager)
     */
    default boolean isSwipeEnable() {
        return false;
    }
     /**
     * 承载主界面Fragment的ViewGroup id 一般为FrameLayout
     *
     * @return viewId
     */
    default int getContainerViewId(){
        return R.id.fLayout_containerFastMain;
    }

     /**
     * 承载主界面Fragment的ViewGroup id 一般为FrameLayout
     *
     * @return viewId
     */
    default int getContainerViewId() {
        return R.id.fLayout_containerFastMain;
    }
    /**
     * 用于添加Tab属性(文字-图标)
     *
     * @return 主页tab数组
     */
    @Nullable
    List<FastTabEntity> getTabList();

    /**
     * 获取onCreate 携带参数
     * {@link android.app.Activity#onCreate(Bundle)}
     * {@link com.aries.library.fast.module.activity.FastMainActivity#beforeInitView(Bundle)}
     * {@link Fragment#onCreateView(LayoutInflater, ViewGroup, Bundle)}
     * {@link com.aries.library.fast.module.fragment.FastMainFragment#beforeInitView(Bundle)}
     *
     * @return
     */
    Bundle getSavedInstanceState();

    /**
     * 返回 CommonTabLayout  对象用于自定义设置
     *
     * @param tabLayout CommonTabLayout 对象用于单独属性调节
     */
    void setTabLayout(CommonTabLayout tabLayout);

    /**
     * 设置ViewPager属性
     *
     * @param mViewPager ViewPager属性控制
     */
    default void setViewPager(ViewPager mViewPager) {

    }

    /**
     * tab首次选中
     *
     * @param position
     */
    @Override
    default void onTabSelect(int position) {

    }

    /**
     * tab选中状态再点击
     *
     * @param position
     */
    @Override
    default void onTabReselect(int position) {

    }
}

@@ -122,16 +122,49 @@
 Group;%0A%0A
+import com.aries.library.fast.R;%0A
 import c
@@ -207,16 +207,16 @@
 Entity;%0A
-
 import c
@@ -460,41 +460,8 @@
 ger;
-%0Aimport com.aries.library.fast.R;
 %0A%0A/*
@@ -897,25 +897,24 @@
 ;%0A    %7D%0A
- 
     /**%0A
      * %E6%89%BF
@@ -897,32 +897,32 @@
 ;%0A    %7D%0A    /**%0A
+
      * %E6%89%BF%E8%BD%BD%E4%B8%BB%E7%95%8C%E9%9D%A2Frag
@@ -1087,195 +1087,8 @@
  %7D%0A%0A
-     /**%0A     * %E6%89%BF%E8%BD%BD%E4%B8%BB%E7%95%8C%E9%9D%A2Fragment%E7%9A%84ViewGroup id %E4%B8%80%E8%88%AC%E4%B8%BAFrameLayout%0A     *%0A     * @return viewId%0A     */%0A    default int getContainerViewId() %7B%0A        return R.id.fLayout_containerFastMain;%0A    %7D%0A
     

修改FastManager初始化方式 增加快速模板template 开发者可直接拷贝该项目修改继续开发