Fragment 的两种加载方式 (静态加载,动态加载)

来源:互联网 发布:苏州人工智能研究院 编辑:程序博客网 时间:2024/04/30 02:23
一、fragmnet静态加载
    1.在layout Xml文件里面添加fragment控件.
    2. 创建一个新的java code页面 继承与Fragment 然后在该java code页面里面实现Fragment的生命周期
        其中我们主要使用的是oncreatView方法.
            oncreateView方法的返回值是View对象. 但是我们需要不返回值进行改变为我们自己引用View
            例:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View view = inflater.inflate(R.layout."在fragment里面添加的布局", null);return view;

3. 在我们的主布局里面 MainActivity应该继承至FragmentActivity 然后其他都不变.

    这样就能实现一个fragment的静态加载.


二、Fragment的动态加载
    1。所谓的动态加载,就是不需要在layout>Xml文件里面对Fragment进行布局.我们直接在java Code里面直接使用.随时用随时创建.
    2.直接创建一个java code 继承至Fragment
    3.对Fragment的创建在onCreateView方法里面进行,我们在这里可以引用自己的任意布局。
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View view = inflater.inflate(R.layout."在fragment里面添加的布局", null);return view;


4. 把我们已经引用的布局的fragment加载到当前的的Activity页面上。
        这里我们用到了,事物看实例
    例:
public class MainActivity extends FragmentActivity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);FragmentD1 fragmentD1 = new FragmentD1();//这是我们需要加载的fragment的对象FragmentD2 fragmentD2 = new FragmentD2();//得到fragment的管理者对象FragmentManager manager = getSupportFragmentManager();//通过fragment管理者得到fragment事物用于加载fragmentFragmentTransaction fragmentTransaction = manager.beginTransaction();fragmentTransaction.replace(R.id.fragmentD1, fragmentD1);//把需要加载的fragment加载到事物里面fragmentTransaction.replace(R.id.fragmentD2, fragmentD2);//事物提交,然后实现加载fragmentTransaction.commit();}


这样就能对fragment进行动态的加载,什么时候用什么创建就行


0 0
原创粉丝点击