Я перенес свой проект на androidx. Когда я использую RxSearchView
, это приводит к ошибке
RxSearchView.queryTextChanges(searchView).
Несоответствие типов. Требуется: android.widget.SearchView
Найденный:
androidx.appcompat.widget.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.
Надеюсь, я не опоздал, и надеюсь, что это поможет!
Изменить< /strong>
Я знаю, что отвечал на это не так давно, но что-то испортило библиотеку. 3.0.0-alpha
больше не является последней версией и была заменена версией 3.0.0
, из которой я больше нигде не нахожу RxSearchView
, даже в версии alpha
.
Редактировать 2
Поскольку я так и не нашел RxSearchView
снова, мне пришлось реализовать OnQueryTextListener
самостоятельно, следуя довольно крутому руководству, которое я нашел здесь. Он использует новый coroutines
Kotlin
и работает так же хорошо, как RxSearchview
.
Если вы обновите свою зависимость до rxbinding3 версии 3.0.0, добавив следующую строку в build.gradle
вашего приложения:
implementation 'com.jakewharton.rxbinding3:rxbinding-appcompat:3.0.0'
Тогда все будет в порядке, просто используя новый API, адаптированный к стилю Kotlin:
Замените свой код там, где он
RxSearchView.queryTextChangeEvents(searchView)
to
searchView.queryTextChangeEvents()
Также имейте в виду, что возвращаемое значение, введенное как SearchViewQueryTextEvent
, использует доступ к свойствам, поэтому такие вещи, как it.queryText()
, следует изменить на it.queryText()
.