Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如果片段是通过xml布局添加的,则使用Fragment newinstance方法_Android - Fatal编程技术网

Android 如果片段是通过xml布局添加的,则使用Fragment newinstance方法

Android 如果片段是通过xml布局添加的,则使用Fragment newinstance方法,android,Android,正如在关于使用静态newInstance方法创建片段的各种文章中提到的那样。我知道如果我们在代码中创建一个片段,我们可以调用这个方法。但是,如果片段是通过xml布局文件添加的,则无法调用此方法。在这种情况下,只调用构造函数。那么,在这种情况下,应该采取什么方法呢 谢谢 Dalvin我不确定,但我想你在找这个 片段f和f1是用xml代码构建的,这里我们通过获取它们的Id来初始化它们。 Fragment f = getFragmentManager().findFragmentById(R.id.f

正如在关于使用静态newInstance方法创建片段的各种文章中提到的那样。我知道如果我们在代码中创建一个片段,我们可以调用这个方法。但是,如果片段是通过xml布局文件添加的,则无法调用此方法。在这种情况下,只调用构造函数。那么,在这种情况下,应该采取什么方法呢

谢谢


Dalvin我不确定,但我想你在找这个

片段f和f1是用xml代码构建的,这里我们通过获取它们的Id来初始化它们。

Fragment f = getFragmentManager().findFragmentById(R.id.frag1);

Fragment f1 = getFragmentManager().findFragmentById(R.id.frag2);

FragmentTransaction ft=getFragmentManager().beginTransaction();

        ft.detach(f);

        ft.commit();


        FragmentTransaction ft1=getFragmentManager().beginTransaction();

        ft1.hide(f1);

    ft1.commit();

我不确定,但我想你在找这个

片段f和f1是用xml代码构建的,这里我们通过获取它们的Id来初始化它们。

Fragment f = getFragmentManager().findFragmentById(R.id.frag1);

Fragment f1 = getFragmentManager().findFragmentById(R.id.frag2);

FragmentTransaction ft=getFragmentManager().beginTransaction();

        ft.detach(f);

        ft.commit();


        FragmentTransaction ft1=getFragmentManager().beginTransaction();

        ft1.hide(f1);

    ft1.commit();
因为newInstance()方法不是片段生命周期的一部分,而是android文档引入的一种设计模式。所以,若片段是通过xml布局添加的,那个么这个newInstance()方法将不会被调用,因为在通过代码创建片段时,我们必须在代码中调用它。因此,我的问题是,如果需要通过xml布局添加片段,如何遵循这种设计模式。因为newInstance()方法不是片段生命周期的一部分,而是android文档引入的一种设计模式。所以,若片段是通过xml布局添加的,那个么这个newInstance()方法将不会被调用,因为在通过代码创建片段时,我们必须在代码中调用它。所以我的问题是,如果需要通过xml布局添加片段,如何遵循这种设计模式。