ViewPager上加载Fragment

来源:互联网 发布:在u盘中安装ubuntu 编辑:程序博客网 时间:2024/05/13 20:00

ViewPager上加载fragment是安卓常用的一种形式,这两个控件对于安卓开发都相当重要,而结合起来更是安卓的一个重要表现形式,所以这里介绍了一个简单方法,实现效果,一起来看看吧。


布局ViewPager

<android.support.v4.view.ViewPager    android:id="@+id/viewpager"    android:layout_width="match_parent"    android:layout_height="match_parent"    />

 package com.example.viewpagerfragment;//导包import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.os.Bundle;//1.继承FragmentActivity public class MainActivity extends FragmentActivity {    ViewPager viewPager;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);//加载布局        setContentView(R.layout.activity_main);
//2.资源id
viewPager = (ViewPager) findViewById(R.id.viewpager);//3.viewPager添加适配器 viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) {
//4.实例化对象
  Fragment fragment = new Fragment();
//5.判断
  switch (position){ case 0: return new Lei1(); case 1: return new Lei2(); case 2: return new Lei3(); } return fragment; }//5.返回的是Fragment的页数 @Override public int getCount() { return 3; } }); }}

每一个Fragment。你所要实现的需求写在每一个Fragment中


public class Lei1 extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.lei1,container,false);//这里添加内容,注意:找控件要 view.xxx        return view;    }}

Fragment布局


<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="#f00">!!!添加你所需要的控件</LinearLayout>