您的位置:首页 > 移动开发 > Android开发

Android-Fragment

2015-10-15 20:53 363 查看

Android-Fragment

写的很好的Fragment分析文章:

http://blog.csdn.net/lmj623565791/article/details/37970961

http://blog.csdn.net/lmj623565791/article/details/37992017

现在作为一个菜鸟,我对Fragment理解是很浅显的。不过还是要谈一下的。。。。。。

1)Fragment是干什么用的?

感觉可以把Fragment理解为一个小型的Activity, 不过他依赖于Activity。( 每一个fragments 都有自己的一套生命周期回调方法和处理自己的用户输入事件)

以前我们会把页面布局直接写在Activity的布局文件中, 往往内容不少,而Fragment的出现,

我们可以把一部分页面布局写在Fragment中, Activity就成了一个总控制器,它只需在布局文件中

对fragment进行布局即可, 想到这里, fragment是不是很类似于网页布局中的framge呢?

Fragment的出现,不仅分散了activity布局,还可以使activity的布局更加丰富多彩吧?

2)既然是activity的小弟,Fragment的生命周期方法类似于activity

3)Fragment的简单使用步骤

a, 创建Fragement对象

b,获取Fragment管理器

c,打开Fragment事务

d,把Fragment显示到Activity

e,提交事务

范例:

//Activity中:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

fg3 = new Fragment03();
//获取fragment管理器
FragmentManager fm = getFragmentManager();
//打开事务
FragmentTransaction ft = fm.beginTransaction();
//把内容显示至帧布局
ft.replace(R.id.fl, fg3);
//提交
ft.commit();
}

//Fragment03
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View v = inflater.inflate(R.layout.fragment03, null);  //将Fragment布局文件,转换成view对象,以便索引fragment布局文件中的组件
return v;
}


4)Fragment与其大哥Activity之间是可以相互传递数据的。

代码体现当然是对象间的相互访问呗。。

5)FindViewById()方法在调用时就有特殊性的了,

在Fragement中调用, 就在Fragment中找;

在Activity中调用, 就在Activity中找

6)在使用Fragment时要注意器向下的兼容性, 因为Fragment是Android3.0之后的新特性,

所以较低Android版本是没有Fragment的相关jar的。

但是可以引入v4的包,然后Activity继承FragmentActivity,然后通过getSupportFragmentManager获得FragmentManager。

不过还是建议版Menifest文件的uses-sdk的minSdkVersion和targetSdkVersion都改为11以上,这样就不必引入v4包了

7)。。。。。。代我日后再来搞一把!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  fragment