0

我在 Android 应用程序上使用自定义上下文,并且我使用 Roboguice 进行注入(我使用 ActionBarSherlock,所以我使用的是 robosherlock)

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

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

public class CustomFragment extends RoboSherlockListFragment

我尝试注入我的自定义上下文:

@Inject
private CustomContext mContext;

当我尝试使用 getPrivateField() 方法访问在 CustomApplication 的上下文中初始化的私有字段时,如果上下文是新的并且不重用旧的,我会得到 null。

有人可以帮助我吗?

谢谢!

4

1 回答 1

1

我不知道你的 thisCustomContext到底是如何工作的,但是当 RoboGuice 遇到一个@Inject没有特定绑定规则的注释(bind(CustomContext.class)模块中的一行)时,它只会使用默认构造函数创建一个新对象。

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

于 2013-05-02T21:35:46.763 回答