RxSearchView 不支持 androidx SearchView?

RxSearchView not supporting androidx SearchView?

我已经将我的项目迁移到 androidx。当我使用 RxSearchView 时会导致错误

RxSearchView.queryTextChanges(searchView).

类型不匹配。 必需的: android.widget.SearchView

找到:

androidx.appcompat.widget.SearchView


我最近遇到了这个问题,并且能够通过使用此显式依赖项来修复它:implementation 'com.jakewharton.rxbinding3:rxbinding-appcompat:3.0.0-alpha2'.

您可以在 Github RxBinding.

找到此依赖项和其他一些依赖项 我希望我没有太晚,希望这对您有所帮助!

编辑
我知道我不久前对此做出了回应,但有些东西把图书馆搞砸了。 3.0.0-alpha 不再是最新版本,已被版本 3.0.0 取代,我在任何地方都找不到 RxSearchView,甚至在 alpha 版本上也找不到。


编辑 2
由于我再也没有找到 RxSearchView,我不得不自己实现一个 OnQueryTextListener,按照我找到的一个非常酷的教程 here。它使用 Kotlin 的新 coroutines 并且与 RxSearchview.

一样好用

如果您通过在应用的 build.gradle 中添加以下行来更新对 rxbinding3 版本 3.0.0 的依赖:

implementation 'com.jakewharton.rxbinding3:rxbinding-appcompat:3.0.0'

那么你只需使用适应 Kotlin 风格的新 API 就可以了:

替换你的代码

RxSearchView.queryTextChangeEvents(searchView)

searchView.queryTextChangeEvents()

另外请记住,键入为 SearchViewQueryTextEvent 的 return 值使用 属性 访问权限,因此应将 it.queryText() 之类的内容更改为 it.queryText