0

我使用Android应用程序的自定义上下文和我使用Roboguice用于注射(I使用ActionBarSherlock,所以我使用robosherlock)Roboguice被注入不同的上下文

此自定义上下文是使用一些调用onCreate时初始化的字段。

接下来,我有一个片段,其签名如下所示:

public class CustomFragment extends RoboSherlockListFragment 

,我尝试注入我的自定义背景:

@Inject 
private CustomContext mContext; 

当我尝试存取权限的CustomApplication的初始化私有字段上下文与getPrivateField()方法,我得到null就像上下文是新的而不是重用旧的。

有人可以帮助我吗?

谢谢!

回答

1

我不知道这CustomContext你的究竟是如何工作的,但是当RoboGuice遇到@Inject标注为它并没有一个特定的绑定规则(你的模块中的bind(CustomContext.class)线),那么它只是创建一个新的对象使用默认的构造函数。

您应该创建一个自定义提供程序,其中包含获取此特定CustomContext的位置的逻辑。