Kotlin RxJava:类型不匹配,需要观察者,但??发现

时间:2018-09-25 21:29:13

标签: android kotlin android-livedata

我正在我的Kotlin项目中实现RxJava。将从Java到Kotlin的自动翻译应用于以下代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    AndroidInjection.inject(this);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.lobby_activity);

    viewModel = ViewModelProviders.of(this, viewModelFactory).get(LobbyViewModel.class);

    viewModel.response().observe(this, response -> processResponse(response));
}

我在下图中显示了错误:

enter image description here

2 个答案:

答案 0 :(得分:1)

尝试显式声明lambda的类型:

viewModel!!.response().observe(this, Observer<Response> { response -> processResponse(response) }

答案 1 :(得分:0)

我认为问题在于它不能解决lambda中response的类型。请尝试以下操作:

viewModel!!.response().observe(this, {response: Response -> ... })