(博彩导航网站排行榜) TabLayout如何在选择时再进行加载
博彩导航网站排行榜
博彩导航网站排行榜
当前位置 : 博彩导航网站排行榜 > 博彩导航网站排行榜

(博彩导航网站排行榜) TabLayout如何在选择时再进行加载

TabLayout如何在选择时再进行加载?
写了一个TabLayout,可是在启动应用时就已经将tab下所有标签全部加载完成了,我想实现的是点击某个标签再进行这个标签下fragment的加载,就像知乎一样,请问这个功能该如何实现?
附上

public class MainActivity extends AppCompatActivity {

    @BindViewR.id.mainLinearLayout
    LinearLayout mainLinear;
    @BindViewR.id.mainContent
    FrameLayout mainContent;
    @BindViewR.id.tabHost
    FragmentTabHost tabHost;
    @BindViewR.id.tabContent
    FrameLayout tabContent;

    private LayoutInflater inflater;  //用于装载view
    private List<MainTabs> mTabs = new ArrayList<>4;  //用于储存每个标签内容

    @Override
    protected void onCreateBundle savedInstanceState {
        super.onCreatesavedInstanceState;
        setContentViewR.layout.activity_main;
        ButterKnife.bindthis;
        initBmob;
        initTab;
    }

    private void initBmob {
////        第一:默认初始化
//        Bmob.initializethis, "67d2f18dc98bf4f958229765bc8b0b06";


        //        第二:自v3.4.7版本开始,设置BmobConfig,允许设置请求超时时间、文件分片上传时每片的大小、文件的过期时间单位为秒,
        BmobConfig config = new BmobConfig.Builderthis
                //设置appkey
                .setApplicationId"67d2f18dc98bf4f958229765bc8b0b06"
                //请求超时时间(单位为秒):默认15s
                .setConnectTimeout30
                //文件分片上传时每片的大小(单位字节),默认512*1024
                .setUploadBlockSize1024 * 1024
                //文件的过期时间单位为秒:默认1800s
                .setFileExpiration2500
                .build;
        Bmob.initializeconfig;
    }

    private void getPermission {
        PermissionManager helper;
        helper = PermissionManager.withMainActivity.this;
        //添加权限请求码
//        helper.addRequestCode10
    }

    private void initTab {
        //Tab对象
        MainTabs tabs1 = new MainTabs"首页", R.drawable.tab_icon_1_selector, Fragment_1.class;
        MainTabs tabs2 = new MainTabs"记录", R.drawable.tab_icon_2_selector, Fragment_2.class;
        MainTabs tabs3 = new MainTabs"发现", R.drawable.tab_icon_3_selector, Fragment_3.class;
        MainTabs tabs4 = new MainTabs"我", R.drawable.tab_icon_4_selector, Fragment_4.class;

        mTabs.addtabs1;
        mTabs.addtabs2;
        mTabs.addtabs3;
        mTabs.addtabs4;

        inflater = LayoutInflater.fromthis;
        //表示主内容的视图为定义的fragment内视图
        tabHost.setupthis, getSupportFragmentManager, R.id.mainContent;

        //取出每一个,进行设置
        for MainTabs mainTabs : mTabs {
            //获取到文字标签
            TabHost.TabSpec tabSpec = tabHost.newTabSpecmainTabs.getTitle;
            tabSpec.setIndicatorbuildTabsmainTabs;
            tabHost.addTabtabSpec, mainTabs.getFragment, null;
        }
        //        fragmentTabHost.getTabWidget.setShowDividersLinearLayout.SHOW_DIVIDER_NONE;  //去掉分割线 ?
        tabHost.setCurrentTab0;

    }

    //传入一个对象,返回一个View
    private View buildTabsMainTabs mainTabs {
        View view = inflater.inflateR.layout.tab_indicator, null;
        ImageView imageView = ImageView view.findViewByIdR.id.tab_icon;
        TextView textView = TextView view.findViewByIdR.id.tab_text;

        //设置图片和文字
        imageView.setBackgroundResourcemainTabs.getIcon;
        textView.setTextmainTabs.getTitle;
        return view;
    }
}

推荐你使用tablayout + viewpager +fragment 做布局,然后再设置viewpager的懒加载机制
ViewPager缓存机制

监听TabLayout的选择事件,根据事件响应创建相应的fragment。在相应的fragment实现相应的数据加载。

楼上正解,用viewpager配合fragment可以很容易的做到这点

最新文章

广告位

博彩导航网站排行榜