当上下文是Application时,如何向视图添加片段?

时间:2016-11-13 14:33:56

标签: android android-fragments android-activity android-context

我需要动态地将一个片段添加到视图中,因为它也位于片段内(请参阅答案https://stackoverflow.com/a/6847770/811405)。

整个结构是这样的:

Fragment
|
|---ViewHolder
    |
    |---(dynamically added fragment)

在我的观看者中,我可以访问该视图。我首先想到我可以调用getContext()然后将其转换为活动,然后使用它的片段管理器来添加它。但是,getContext返回我的Application对象,而不是活动(在应用程序物理上在屏幕上之前在应用程序启动时调用它,因此可能尚未创建活动)。

如何在ViewHolder上动态添加片段? (当然,没有使用可怕的反模式)

1 个答案:

答案 0 :(得分:0)

我真正的问题是从不正确的上下文(是的,你猜对了,应用程序实例)而不是我的Activity来夸大布局。我修改了代码以使其从Activity中膨胀,现在getContext返回活动。然后,我可以获得片段管理器并正常添加片段。