我的ViewModel类:
public class MyViewModel extends AndroidViewModel { ...
我是从Activity:
初始化的private void initializeViewModel() {
viewModel = ViewModelProviders
.of(this, new ViewModelFactory(this.getApplication(), argsSelect))
.get(MyViewModel.class);
viewModel.getLogsList().observe(this, new Observer<List<DebugMessage>>() {
@Override
public void onChanged(@Nullable List<DebugMessage> debugMessages) {
logAdapter.addItems(debugMessages);
}
});
}
我的论点( argsSelect )会实时更改。我如何使用基于当前参数的新SELECT更新ViewModel和 RecyclerView ?
答案 0 :(得分:0)
如果您正在使用Room加载内部数据,则必须返回一个LiveData。
@Query("SELECT * FROM user")
fun getAll(): LiveData<MutableList<User>>
数据库中的每一次更改都会调用观察者,因此您不必担心。