使用ViewPager显示Fragment集合

要注意包都要保持一致 ,在本文中是support.v4,不然会出现各种错误

activity_main.xml:

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     tools:context="com.zzw.fragmentteb.MainActivity" >
 6
 7     <android.support.v4.view.ViewPager
 8         android:id="@+id/view_pager"
 9         android:layout_width="match_parent"
10         android:layout_height="match_parent" />
11
12 </RelativeLayout>

MyFragment:

 1 package com.zzw.fragmentteb;
 2
 3 import android.os.Bundle;
 4 import android.support.v4.app.Fragment;
 5 import android.view.LayoutInflater;
 6 import android.view.View;
 7 import android.view.ViewGroup;
 8 import android.widget.TextView;
 9
10 public class MyFragment extends Fragment {
11     private static final String TAG = "TestFragment";
12
13     String name;
14     int color;
15
16     @Override
17     public void onCreate(Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19         Bundle b = this.getArguments();
20         name = b.getString("NAME");
21         color = b.getInt("COLOR");
22     }
23
24     @Override
25     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
26         View view = inflater.inflate(android.R.layout.simple_list_item_1, null);
27         view.setBackgroundColor(color);
28         return view;
29     }
30
31     @Override
32     public void onViewCreated(View view, Bundle savedInstanceState) {
33
34         TextView text1 = (TextView) view.findViewById(android.R.id.text1);
35
36         text1.setText(name);
37     }
38 }

MainActivity:

 1 package com.zzw.fragmentteb;
 2
 3 import java.util.ArrayList;
 4
 5 import android.graphics.Color;
 6 import android.os.Bundle;
 7 import android.support.v4.app.Fragment;
 8 import android.support.v4.app.FragmentActivity;
 9 import android.support.v4.app.FragmentManager;
10 import android.support.v4.app.FragmentPagerAdapter;
11 import android.support.v4.view.ViewPager;
12
13 public class MainActivity extends FragmentActivity {
14
15     ArrayList<Fragment> list;
16
17     @Override
18     protected void onCreate(Bundle savedInstanceState) {
19         super.onCreate(savedInstanceState);
20         setContentView(R.layout.activity_main);
21
22         list=new ArrayList<Fragment>();
23         list.add(setFragmentData("我是第一个Fragment", Color.RED));
24         list.add(setFragmentData("我是第二个Fragment", Color.GRAY));
25         list.add(setFragmentData("我是第三个Fragment", Color.GREEN));
26         list.add(setFragmentData("我是第四个Fragment", Color.BLUE));
27         list.add(setFragmentData("我是第五个Fragment", Color.YELLOW));
28
29         ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
30
31         viewPager.setAdapter(new MyAdapter(this.getSupportFragmentManager()));
32     }
33
34     // 设置要传递给Fragment的参数
35     private Fragment setFragmentData(String name, int color) {
36         Fragment f = new MyFragment();
37
38         Bundle b = new Bundle();
39         b.putString("NAME", name);
40         b.putInt("COLOR", color);
41         f.setArguments(b);
42         return f;
43     }
44
45     private class MyAdapter extends FragmentPagerAdapter {
46
47         public MyAdapter(FragmentManager fm) {
48             super(fm);
49         }
50
51         @Override
52         public Fragment getItem(int position) {
53             return list.get(position);
54         }
55
56         @Override
57         public int getCount() {
58             return list.size();
59         }
60
61     }
62
63 }
时间: 2025-01-02 18:28:05

使用ViewPager显示Fragment集合的相关文章

viewpager中fragment的生命周期管理

viewpager中fragment的生命周期管理 - i_bobby - 开源中国社区 调试fragment的时候发现一个莫名其妙的事情,viewpager中包含4个fragment,其中第一个和第三个fragment是要联网取得数据的,如图: 界面刚进去的时候显示第一个fragment,通过log信息,我发现two fragment竟然"偷偷"走了一遍的生命周期!着实把我震惊了! 然后我滑动到two,发现第三个也"偷"了一遍生命周期,也就是说,手机在显示第二个不

可滑动的顶部导航页ViewPager和Fragment的使用

可滑动的顶部导航页ViewPager和Fragment的使用 通过ViewPager和Fragment实现侧滑切换导航栏的功能,如下图所示. 一.定义主布局文件main.xml 最上面是一个导航栏,分别有三个textview构成,然后再textview下面设置一个标签卡最下面是使用Android.support.v4.view.viewpager构成 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2

如何使用viewpager与fragment写一个app导航activity

今天我们来看一下如何使用viewpager和fragment组合来写一个app导航activity,这里使用到了android开源控件viewpagerindicator,有兴趣的同学可以去它网站上看看它的介绍. 附上效果截图一张: demo中只有一个activity,是用activity_main.xml来布局,其内容如下: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:and

android开发之viewpager and Fragment

Android ViewPager和Fragment实现顶部导航界面滑动效果 Layout 管理器允许用户可以在页面上,左右滑动来翻动页面.你可以考虑实现PagerAdapter接口来显示 该效果.ViewPager很多时候会结合Fragment一块使用,这种方法使得管理每个页面的生命周期变得很方便. 些adapter的具体实现,可以适合于这种ViewPager结合Fragment使用的情况.这些adapter包括: 其中,有一FragmentPagerAdapter,和 FragmentSta

Android ViewPager和Fragment实现顶部导航界面滑动效果

在项目中,我们常常需要实现界面滑动切换的效果.例如,微信界面的左右滑动切换效果.那这种效果是怎么实现的?今天我就带大家简单了解ViewPager,并通过实例来实现该效果. 一. ViewPager 官方API 首先我们来看一下ViewPager官方给出的解释,如图: 具体意思如下: Layout 管理器允许用户可以在页面上,左右滑动来翻动页面.你可以考虑实现PagerAdapter接口来显示该效果. ViewPager很多时候会结合Fragment一块使用,这种方法使得管理每个页面的生命周期变得

Android -- ViewPager、Fragment、状态保存、通信

工程架构                                                                                      TabAFm到TabEFm都是Fragment,并且每个Fragment对应一个布局文件. TabAFm.java                                                                            package com.yydcdut.viewpag

ViewPager和Fragment结合使用,可以做出顶部导航界面滑动效果

在项目中,我们常常需要实现界面滑动切换的效果.例如,微信界面的左右滑动切换效果.那这种效果是怎么实现的?今天我就带大家简单了解ViewPager,并通过实例来实现该效果. 一. ViewPager 官方API 首先我们来看一下ViewPager官方给出的解释,如图: 具体意思如下: Layout 管理器允许用户可以在页面上,左右滑动来翻动页面.你可以考虑实现PagerAdapter接口来显示该效果. ViewPager很多时候会结合Fragment一块使用,这种方法使得管理每个页面的生命周期变得

ViewPager之Fragment页面切换

一.概述 ViewPager是android-support-v4中提供的类,它是一个容器类,常用于页面之间的切换. 继上篇文章<ViewPager之引导页>之后,本文主要介绍ViewPager更为通用的实践:ViewPager搭配Fragment实现页面切换. 这种实现方式相对于上篇文章而言,可以更好的支持不同页面各自的复杂逻辑,与此同时,也能够保障页面之间的耦合度尽可能的低. 按照惯例,先晒出效果图:        二.实现思路 首先分析一下不同区域的交互需求: 中间灰色区域除了要支持三套

ViewPager结合Fragment进行无限滑动

实现ViewPager结合Fragment实现无限循环切换,这里也是在适配器里面进行的,当然使用滑动监听也能够实现 import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.view.ViewGroup; import java.util.Array