码迷,mamicode.com
首页 > 其他好文 > 详细

Fragment

时间:2016-06-05 13:54:59      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

从Android 3.0 (API level 11) 平板开始引入Fragment的

把平板的一部分分离出来.操作另一部分,利用它我们可以动态的修改UI的一部分,让这一部分变成我们希望的UI效果

下面是fragment 图片:

技术分享

 

Fragment包含在Activity中,Fragment只能存在于Activity的上下文(context)内,没有Activity就无法使用Fragment,因此Fragment只能在Activity的上下文(context)创建。Fragment可以作为Activity的一部分,Fragment和Activity非常相似,Fragment拥有一个与Activity相关的视图层次结构,拥有一个与Activity非常相似的生命周期

使用方法:

1.在fragment里

public class ShowFragment extends Fragment {
//返回当前fragment显示的内容

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

//使用打气筒与资源文件相联

return inflater.inflate(R.layout.show, null);

}

}

2.在Activity里调用Fragment 

  Activity不可以new ,但是Fragment是可以的

  为了保证更新同时成功或者同时失败 用到事务

public void showSound(View view){

SoundFragment fragment = new SoundFragment();

FragmentManager fm = getFragmentManager();

//事务

FragmentTransaction ft = fm.beginTransaction();

ft.replace(R.id.container, fragment);

ft.commit();

}

3,注意

开户事务每次都要执行

 

 

Fragment与Activity的通讯
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
EditText et_name = (EditText) getActivity().findViewById(R.id.et_name);
                                //上下文不一样
Toast.makeText(getActivity(), "name:"+et_name.getText().toString(), 0).show();
}
});
 
 
Fragment的生命周期
 
技术分享
 
 技术分享
 
向下兼容低版本
 
1.v4里面的包
2.继承FragmentActivit
3.得到管理器getSupportFragmentManger();
 public class MainActivity extends FragmentActivity {
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
 
public void open01(View view){
Fragment01 f = new Fragment01();
FragmentTransaction  ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.container, f);
ft.commit();
}

Fragment

标签:

原文地址:http://www.cnblogs.com/dubo-/p/5560492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!