我正在使用Dagger 2 DataBindng和新的Android Lifecycle组件,它们具有ViewModels

ViewModel中,我如何访问我的strings.xml?起初我在想将Context注入(inject)viewModel,但是,这只会泄漏内存。

还有其他方法吗?

最佳答案

有一个 AndroidViewModel ,它接收Application实例作为参数。
从文档:

您可以使用该参数从strings.xml中检索字符串。


我已经 checkout 了GithubBrowserSample。这是UserViewModel的样子: public class UserViewModel extends ViewModel { ... @Inject public UserViewModel(UserRepository userRepository, RepoRepository repoRepository) { ... } ... }
这是我所做的更改: public class UserViewModel extends AndroidViewModel { ... @Inject public UserViewModel(Application application, UserRepository userRepository, RepoRepository repoRepository) { super(application); ... } ... }

关于android - 从ViewModel访问strings.xml,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46443524/

10-09 01:26