简体   繁体   English

如何更新 ViewModel LifeCycle 和 recyclerview

[英]how update ViewModel LifeCycle and recyclerview

My ViewModel class:我的 ViewModel 类:

public class MyViewModel extends AndroidViewModel { ...

I'm initialization from Activity:我正在从 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);
    }
});

} }

My argument ( argsSelect ) changes real time.我的论点 ( argsSelect ) 实时变化。 How me update ViewModel and RecyclerView with new SELECT based on current arguments?我如何根据当前参数使用新的 SELECT 更新 ViewModel 和RecyclerView

If you are using Room to load internal data, you have to return a LiveData.如果您使用 Room 加载内部数据,则必须返回 LiveData。

@Query("SELECT * FROM user")
fun getAll(): LiveData<MutableList<User>>

Every change in your DB will call your observer, so you don't need to worry about it.您的数据库中的每一次更改都会调用您的观察者,因此您无需担心。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM