- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一项服务可以提供大多数时间对用户可见的 UI。
当我遇到问题时,我正在尝试新的应用程序架构。
MyModelviewModel viewModel = ViewModelProviders.of(this).get(MyModelviewModel.class);
但如您所知,this
只能是 AppCompat
或 Fragment
还有其他选择吗?或者我可以将观察者直接放在我的 LiveData
上,就像我放在 ViewModel
viewModel.getList().observe(Playground.this, new Observer<List<TestEntity>>() {
@Override
public void onChanged(@Nullable List<TestEntity> items) {
recyclerViewAdapter.addItems(items);
}
});
最佳答案
LiveData
可以在没有ViewModel
的情况下独立使用, 你可以使用 observeForever(Observer<T> observer)
, 或 observe(LifecycleOwner owner, Observer<T> observer)
当您提供适当的 LifecycleOwner
时例如,你可以实现 LifecycleOwner
在您的服务或 View 中。
ViewModelProviders
只提供 ViewModel
的缓存对于每个 Fragment
或 Activity
,您可以创建自己的 ViewModel
直接通过 new MyModelviewModel()
.
关于Service 中的 Android ViewModel(备选),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48716548/
注意:使用 jQuery 1.3.2(是的,我正在升级,但为此仍然需要 1.3.2) 寻找更好的方法来实现这一点 HTML 元素(这来自自定义 PHP 框架,更改起来非常麻烦): ... 1
我有一项服务可以提供大多数时间对用户可见的 UI。 当我遇到问题时,我正在尝试新的应用程序架构。 MyModelviewModel viewModel = ViewModelProviders.of(
在 C# 中,我有以下代码: string[] exampleStrings = Console.ReadLine().Split(' '); // C# int[] example
我是一名优秀的程序员,十分优秀!