当上下文为应用程序时,如何将片段添加到视图?
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。然后我可以获取片段管理器并正常添加片段。
我需要将片段动态添加到视图中,因为它也在片段中(参见答案 )。
整个结构是这样的:
Fragment
|
|---ViewHolder
|
|---(dynamically added fragment)
在我的 viewholder 中,我可以访问视图。我首先想到我可以调用 getContext()
然后将其转换为 activity,然后使用它的片段管理器来添加它。但是,getContext
returns 我的应用程序对象,而不是 activity(它在应用程序实际出现在屏幕上之前在应用程序启动时被调用,所以可能 activity 尚未创建还没有)。
如何在 ViewHolder 上动态添加片段? (当然,没有使用可怕的反模式)
我真正的问题是从不正确的上下文(是的,您猜对了,Application 实例)而不是我的 Activity 来扩充布局。我已修复代码,使其从 Activity 膨胀,现在 getContext
returns 膨胀 activity。然后我可以获取片段管理器并正常添加片段。