gpt4 book ai didi

android - RoboGuice 和静态变量注入(inject)

转载 作者:行者123 更新时间:2023-11-29 01:58:33 26 4
gpt4 key购买 nike

我第一次在项目中使用 RoboGuice,我试图注入(inject)一个静态变量,但该变量仍为空。这是我正在测试的东西的快速模型:

public class MyActivity extends RoboFragmentActivity {

@Override protected void onCreate(Bundle savedInstanceState) {
MyObject.print();
}
}


@ContextSingleton
public class MyObject {

@Inject static AssetManager sAssetManager;

public static void print() {
if(sAssetManager == null) {
Log.d("debug", "AssestManager is null");
} else {
Log.d("debug", "AssetManager was injected");
}
}
}

我怎样才能使这个工作?

阅读

我知道这不是最佳实践 - 这更像是一种使用 RoboGuice 的学习练习。仅当您对给出的问题有答案时才回答,而不是“你为什么这样做”。

最佳答案

为什么要使用 static 方法/变量?这不是正确的方法。您应该将 MyObject @Inject 到 MyActivity 中。然后你可以做 myObjectInstance.print();。请注意,除非您强制执行,否则 RoboGuice 在 setContentView() 之后执行注入(inject)。

关于android - RoboGuice 和静态变量注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13847498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com