RxSearchView не поддерживает androidx SearchView?

Я перенес свой проект на androidx. Когда я использую RxSearchView, это приводит к ошибке

RxSearchView.queryTextChanges(searchView).

Несоответствие типов. Требуется: android.widget.SearchView

Найденный:

androidx.appcompat.widget.SearchView


person Manoj Perumarath    schedule 11.04.2019    source источник
comment
Ну, похоже, вы разговариваете с версией библиотеки поддержки SearchView, в то время как RxSearchView ищет версию библиотеки без поддержки.   -  person EpicPandaForce    schedule 11.04.2019
comment
@EpicPandaForce Я понял, доступны ли компоненты rx, зависящие от androidx?   -  person Manoj Perumarath    schedule 11.04.2019
comment
Вы смотрели здесь: github.com/JakeWharton/RxBinding/issues/450 Вы должны как правило, начните с репозитория Github кода, который вы собираетесь использовать. Проблема была исправлена ​​и закрыта. Попробуйте использовать Jetifier для AndroidX, см. Миграция на AndroidX и Примечания к выпуску Jetifier.   -  person MD Naseem Ashraf    schedule 15.04.2019


Ответы (2)



Недавно я столкнулся с этой проблемой и смог решить ее с помощью этой явной зависимости: 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.

person pamobo0609    schedule 09.07.2019

Если вы обновите свою зависимость до 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().

person Ovi Trif    schedule 09.10.2019