Fragment 和viewPagerAdapter

    xiaoxiao2022-07-07  188

    Fragment 和viewPagerAdapter

    效果图Fragment布局文件(上面 Tablayout 下面ViewPager)适配器绑定Fragment到ViewPager主类

    效果图

    Fragment布局文件(上面 Tablayout 下面ViewPager)

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Shop" android:orientation="vertical"> <android.support.design.widget.TabLayout android:id="@+id/tab1" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="0dp"></android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:id="@+id/page2" android:layout_weight="12" android:layout_width="match_parent" android:layout_height="0dp"></android.support.v4.view.ViewPager> </LinearLayout>

    适配器绑定Fragment到ViewPager

    public class pageAdapter2 extends FragmentPagerAdapter { List<Fragment> list;//fragment集合 List<String> list2;//tablayout数据源集合 public pageAdapter2(FragmentManager fm, List<Fragment> list,List<String> list2) { super(fm); this.list=list; this.list2=list2; } @Override public Fragment getItem(int i) { return list.get(i); } @Override public int getCount() { return list.size(); } @Nullable @Override public CharSequence getPageTitle(int position) { return list2.get(position);//获得tablayout数据 } }

    主类

    // An highlighted block var foo = 'bar';public class Shop extends AppCompatActivity { TabLayout tabLayout; ViewPager viewPager; //tablelayout List<String> list; //Fragment List<Fragment> list2; //s1 s1 s1; s2 s2; s1 s3; s1 s4; s1 s5; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_shop); tabLayout=findViewById(R.id.tab1); viewPager=findViewById(R.id.page2); list=new ArrayList<>(); list2=new ArrayList<>(); s1=new s1(); s2=new s2(); s3=new s1(); s4=new s1(); s5=new s1(); list.add("推荐"); list.add("手机"); list.add("智能"); list.add("电视5周年"); list.add("笔记本"); list2.add(s1); list2.add(s2); list2.add(s3); list2.add(s4); list2.add(s5); //给tablayout绑定viewPager tabLayout.setupWithViewPager(viewPager); //给viewPager设置适配器 pageAdapter2 pageAdapter2=new pageAdapter2(getSupportFragmentManager(),list2,list); viewPager.setAdapter(pageAdapter2); } }
    最新回复(0)