Android 如何获取生成视图的片段?

Android 如何获取生成视图的片段?,android,fragment,Android,Fragment,LayoutInflater是一个非常强大的工具,可以做非常酷的事情;例如,从布局资源中膨胀片段并正确处理其生命周期。例如: <fragment class="com.test.TestFrag".../> 当获取上面的布局并通过LayoutInflater运行它时,您将获得由Fragment生成的视图。然后,您可以将此视图添加到任何视图组中,并使片段的实例仍然按照片段生命周期运行。我的问题是,如何从这个创建的视图中获取父片段?在运行时,实际上没有机制让片段知道哪个视图组承载它

LayoutInflater是一个非常强大的工具,可以做非常酷的事情;例如,从布局资源中膨胀片段并正确处理其生命周期。例如:

<fragment class="com.test.TestFrag".../>


当获取上面的布局并通过LayoutInflater运行它时,您将获得由Fragment生成的视图。然后,您可以将此视图添加到任何视图组中,并使片段的实例仍然按照片段生命周期运行。我的问题是,如何从这个创建的视图中获取父片段?

在运行时,实际上没有机制让片段知道哪个视图组承载它。也就是说,由于您的类将扩展基本片段类,因此没有什么可以阻止您向片段中添加实例变量以跟踪其父类的ID。如果使用FragmentTransaction将片段添加到视图层次结构中,则必须指定哪个容器将承载该片段,因为FragmentTransaction::add需要包含该片段的视图组的ID。如果使用XML标记将其添加到ViewHierarchy,我不明白为什么需要在运行时确定其父级,因为它不是动态添加的。

如果片段XML使用
id
属性,那么
FragmentManager 35; findFragmentById()
是否有效?