zoukankan      html  css  js  c++  java
  • cathome 猫家 开发日记-tablayout+viewpager+fragment

    概述

    1.tablayout。纯粹就是一个滑动菜单,只是多加一个事件,触发viewpager的滑动。

    2.viewpage,是主角,一般是设定  adapter,在 adapter中,决定如何显示view,以及显示多少个view.

       这里系统已经封装了一个adapter叫 fragmentadapter.转为针对view里面放fragment  的。并且主要方法为 public Fragment getItem(int i)

    所以建立多个fragment  .并传递给adapter. 就可以。主体上结构其实很简单。

    1.初始化2个空间
    FindControls(view_content); SetupTablayout(); SetupViewPager();
    2.简单到死。建立 list<fragment> 传递给 adapter,这个派生的adapter。其实很简单。 private void SetupViewPager() { List<Fragment> fragments=new ArrayList<>(); fragments.add(new life()); fragments.add(new birth()); fragments.add(new illness()); fragments.add(new other()); LSUIViewPagerFragmentAdapter adapter_fragment=new LSUIViewPagerFragmentAdapter(getSupportFragmentManager(),fragments); mPages.setAdapter(adapter_fragment); }
    派生的adapter
    package com.utils.widgets;
    
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentPagerAdapter;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class LSUIViewPagerFragmentAdapter extends FragmentPagerAdapter
    {
        private List<Fragment> mFragments;
    
        public LSUIViewPagerFragmentAdapter(FragmentManager fm, List<Fragment> fragments)
        {
            super(fm);
            mFragments=fragments;
            if(mFragments==null)
            {
                mFragments=new ArrayList<>();
            }
        }
    
        @Override
        public Fragment getItem(int i)
        {
            return mFragments.get(i);
        }
    
        @Override
        public int getCount()
        {
            return mFragments.size();
        }
    }
  • 相关阅读:
    接口的上溯造型——《Thinking in Java》随笔015
    数据库
    小结
    异常及String
    多态&接口
    继承&封装
    Java 类 对象 包
    Java 方法的应用
    Java数组的运用
    Java代码运用及算法思路养成——用*号输出形状
  • 原文地址:https://www.cnblogs.com/lsfv/p/9918035.html
Copyright © 2011-2022 走看看