手记

安卓Fragment(上)

一、Fragment理解(是什么) 《1》Fragment之与我理解,就是一枚小Activity,他依赖于Activity而存在,一个Activity中可以包括一个或多个Fragment是Activity的片段。Fragment的生命周期依赖于Activity的生命周期。 二、Fragment的实战(怎么用) 《1》Fragment的生成。 Fragment竟然是Activity的片段,“麻雀虽小,五脏俱全”,Fragment的生成主要是依靠XML产生布局(布局与Activity无异),建立继承Fragment父类的类,并重写父类的 方法,返回View就是Fragment得到的View控件。 public class FragmentTop extends Fragment implements OnClickListener {

Activity parentActivity = super.getActivity();  

@Override

public void onAttach(Activity activity) {

// fragment已经附属到Activity,可接受次Activity

super.onAttach(activity);

}

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// 构建Framgmet界面,返回。

View view = inflater.inflate(R.layout.activity_fragment_top, null);

return view;


}

《3》Fragment的使用

(1)获得Fragment。

调用时候有三种方式第一:直接new获得:new FragmentTop ()。第二种,Fragment.instantiate(context, fname);说明,第一参数context是Frament所依赖的上下文环境,也就是他所依赖的Activity。第二个参数是类名(利用反射得到的类名)这样就创建好Fragment了;第三种:在布局xml时已经在Fragment那么属性填写完整的实现加载他的Fragment类,这样直接可以用通过ID或tag的方式用Inflate转化成Fragment;(此方法有局限性)

(2)把Fragment放到哪去?放上之后如何换成别的Fragment?如何删掉Fragment?

从Fragement说依赖的Activity中获得FragmentManager。通过他里面的方法便可以实现放置删除修改Fragment。这些方法的执行都用到

FragmentManager里面的事务

FragmentCenter fragmentcenter = new FragmentCenter();//获得fragemtn

fm = getFragmentManager();//获得Fragement

//使用事务操作Fragement,其中R.id.content_layout为Fragment容器

fm.beginTransaction().add(R.id.content_layout, fragmentcenter, "center1").commit();

(3)获得Fragement中的控件,并进行操作  TextView tv = (TextView) center.getView().findViewById(R.id.center_text); tv.setText(v.getTextDirection() + "");

原文链接:http://www.apkbus.com/blog-476203-59085.html

0人推荐
随时随地看视频
慕课网APP