Viewpage+Fragment
2015-09-12 10:58
239 查看
Fragment 与 Activity之间传递数据有两种方法,一种是使用setArgument,一种是使用接口回调。下面先学习第一种方法。
(1)使用setArgument方法:
为了便于理解,我在这里打个比喻:假如Activity是皇帝,它设立了三个部门(如三省六部),分别是Fragment1,Fragment2和Fragemnt3;
现在他现在要吩咐部门Fragment1去做一些事情,比如说:领兵攻打岛国!!好,它肯定不自己跑去告诉该部门的。
一般来说,会有个宰相或者太监总管来负责皇帝口谕是吧;这个太监总管就是FragmentManager。然后,当然,
太监总管也是不会亲自跑过去的,这时候有个名叫FragmentTransaction 的事务太监,总的来说,
它就负责三件事情:add(), remove(), replace(),按照皇帝的意思去增加一个部门,撤销一个部门,和替换掉一个部门。
现在这个事务太监有新任务了,就是增加一个部门,然后告诉它去攻打岛国。好。把内容“带兵攻打岛国”装到信封里
(信封就是Bundle)。注意到,这是密令,当然要做个记号什么的来标记一下,就是加上Tag,这里我们指定是“179521”。
最后绑在白鸽上发送出去(commit())。
今天,我看的这个例子就是一个看上去还不错,涉及了很多的内容,先看一下效果图
![](http://img.blog.csdn.net/20150912110038466?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150912110102852?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
上面的东西是我们的整体的架构框架,Main实现主要的东西,TestFragment代r表界面的每一项的实现,MyFramgentPageAdapter是实现了我们的ViewPage的适配器,ContactAdapter是Lisview的适配器,Contact是我们的数据传输的东东
1.主界面的布局,很好的利用了weight=1这个属相完全的填充进去了我们的东西
2.ListView中传输的数据,和适配器的具体的实现
数据
Adapter
3.FragmentAdapter的实现形式,通过构造函数,传剃我们的FragmentList这个list数据
4.每一页的TestFragment的实现,Activity与Fragment之间的传输数据,为我们的ListView增加Adapter
序列化文件
5.重头戏,MainActibity实现我们的主要的功能,其中不乏,实现动画的效果,获取屏幕的尺寸,
点击我们的ViewPage的跳转 mPager.setCurrentItem(index);PageChangeListener的监听实现线的动画
以及我们的等等
(1)使用setArgument方法:
为了便于理解,我在这里打个比喻:假如Activity是皇帝,它设立了三个部门(如三省六部),分别是Fragment1,Fragment2和Fragemnt3;
现在他现在要吩咐部门Fragment1去做一些事情,比如说:领兵攻打岛国!!好,它肯定不自己跑去告诉该部门的。
一般来说,会有个宰相或者太监总管来负责皇帝口谕是吧;这个太监总管就是FragmentManager。然后,当然,
太监总管也是不会亲自跑过去的,这时候有个名叫FragmentTransaction 的事务太监,总的来说,
它就负责三件事情:add(), remove(), replace(),按照皇帝的意思去增加一个部门,撤销一个部门,和替换掉一个部门。
现在这个事务太监有新任务了,就是增加一个部门,然后告诉它去攻打岛国。好。把内容“带兵攻打岛国”装到信封里
(信封就是Bundle)。注意到,这是密令,当然要做个记号什么的来标记一下,就是加上Tag,这里我们指定是“179521”。
最后绑在白鸽上发送出去(commit())。
今天,我看的这个例子就是一个看上去还不错,涉及了很多的内容,先看一下效果图
上面的东西是我们的整体的架构框架,Main实现主要的东西,TestFragment代r表界面的每一项的实现,MyFramgentPageAdapter是实现了我们的ViewPage的适配器,ContactAdapter是Lisview的适配器,Contact是我们的数据传输的东东
1.主界面的布局,很好的利用了weight=1这个属相完全的填充进去了我们的东西
2.ListView中传输的数据,和适配器的具体的实现
数据
Adapter
3.FragmentAdapter的实现形式,通过构造函数,传剃我们的FragmentList这个list数据
4.每一页的TestFragment的实现,Activity与Fragment之间的传输数据,为我们的ListView增加Adapter
序列化文件
5.重头戏,MainActibity实现我们的主要的功能,其中不乏,实现动画的效果,获取屏幕的尺寸,
点击我们的ViewPage的跳转 mPager.setCurrentItem(index);PageChangeListener的监听实现线的动画
以及我们的等等
相关文章推荐
- uC/OS--II在STM32F103ZET6上的移植
- Java多线程之Thread继承的用法
- AddDigitsTotal - 把数字中单个数相加
- 【Java】_图形用户界面(GUI)
- web前端,仿oppo手机项目html+css
- hive、pig对日志处理的对比
- 微信开发大坑汇总之微信语音篇
- 华为OJ题库-查找输入整数二进制中1的个数
- 局域势注记1
- 【Java多线程】-Timer,TimerTask,ScheduledExecutorService
- Android控件之AnalogClock与DigitalClock用法实例分析
- coroutine
- Oracle 分页存储过程
- 亲和串(hdu2203)
- 非const变量默认是extern
- 如何快速转载CSDN中的博客
- js对日期的判断
- gitlab 6 安装备忘录
- 如何不使用第三方软件在Win10中固定IP?不用第三方软件在Win10中固定IP的方法
- PHP学习可以利用的有效资源,扩展