欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android第一行代码学习笔记——fragment

程序员文章站 2022-03-09 19:24:44
...

1.fragment是一种可以嵌入在活动中当中的UI片段,可以合理地利用大屏幕的空间,类似于一个迷你的活动。
2.碎片的命名规范:模块名+Fragment
碎片的layout文件命名规则:fragment_功能名
3.直接添加添加碎片,可以在布局中当基本控件添加使用,在layout文件夹new一个资源文件,跟普通layout一样。接着新建一个XxxFragment类继承自Fragment类。建议使用supoort-v4库的。重写onCreatView()方法

public View  onCreatView(LayoutInflate inflate, 
        ViewGroup container, Bundle savedIntanceState) {
    View view = inflater.inflate(R.layout.碎片名, 
        container, false);
    return view;
}

4.动态添加碎片,让活动实现View.OnClickListener接口,重写replaceFragment()方法

private void replaceFragment(Fragment fragment) {
    FragmentManager fragmentManager = getSupportFragmentManager();
    FragmentTransaction transaction = fragmentManager.beginTransaction();
    transaction.replace(R.id."id", fragment);
    transaction.commit();
}

5.在碎片中模拟返回栈:在transaction.commit();语句前添加transaction.addToBackStacj(null);语句
6.碎片和活动之间进行通信:调用FragmentManager的findFragmentById()方法在活动中获取碎片的实例,就可以调用碎片里的方法了。
在碎片中通过调用getActivity()方法得到要和当前碎片相关联的活动实例,然后就可以调用活动中的方法了。当碎片中需要使用Context对象时,也可以使用getActivity()方法。

//获取碎片的实例
XxxFragment xxxFragment = (XxxFragment) getSupportFragmentManager()
.findFragmentById(R.id.xxx_fragment);

//获取与碎片相关联活动的实例
XxxActivity activity = (XxxActivity) getActivity();

7.碎片的生命周期:
android第一行代码学习笔记——fragment

相关标签: android fragment