我是使用MVVM的新手,从搜索中我发现Retrofit服务的实现和调用将在ViewModel中,但我的问题是我想接受Retrofit Api调用的响应并将其传递给recyclerView。我怎么能这样做,如果我在ViewModel中提出任何观点,有什么建议吗?
services.getData().enqueue(new Callback<Data>() {
@Override
public void onResponse(Call<Data> call, Response<Data> response) {
// the response contains an arrayList, that I want to pass it to recyclerView
}
@Override
public void onFailure(Call<Data> call, Throwable t) {
}
});
答案 0 :(得分:2)
您需要执行以下步骤: -
Observe
活动/片段中的响应需要实施 LifeCycleOwner
。onChanged(..)
方法,将其设置为view
。我怎么能这样做而我无法在ViewModel中添加任何视图?
从技术上讲,视图模型是存储库与活动之间的桥梁,它会获取数据并在数据存储时保留它改变。 您无需在ViewModel类中添加视图。(recyclerView
将位于活动本身)
参见 - &gt; ViewmodelWithRetrofit.