使用MVVM进行改造

时间:2018-03-29 07:14:31

标签: android mvvm retrofit2

我是使用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) {

        }
    });

1 个答案:

答案 0 :(得分:2)

您需要执行以下步骤: -

  • Observe 活动/片段中的响应需要实施 LifeCycleOwner
  • 收到数据时,观察者的
  • onChanged(..)方法,将其设置为view
  

我怎么能这样做而我无法在ViewModel中添加任何视图?

从技术上讲,视图模型是存储库活动之间的桥梁,它会获取数据并在数据存储时保留它改变您无需在ViewModel类中添加视图。recyclerView将位于活动本身

参见 - &gt; ViewmodelWithRetrofit.