当上下文为应用程序时,如何将片段添加到视图?

How do I add a fragment to a view when its context is Application?

我需要将片段动态添加到视图中,因为它也在片段中(参见答案 )。

整个结构是这样的:

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

在我的 viewholder 中,我可以访问视图。我首先想到我可以调用 getContext() 然后将其转换为 activity,然后使用它的片段管理器来添加它。但是,getContext returns 我的应用程序对象,而不是 activity(它在应用程序实际出现在屏幕上之前在应用程序启动时被调用,所以可能 activity 尚未创建还没有)。

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

我真正的问题是从不正确的上下文(是的,您猜对了,Application 实例)而不是我的 Activity 来扩充布局。我已修复代码,使其从 Activity 膨胀,现在 getContext returns 膨胀 activity。然后我可以获取片段管理器并正常添加片段。