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