Не может выбрать среди следующих кандидатов, не заканчивая вывод типа -- kotlin поле с участием kotlin-extension пол Связанный проблема

Cannot choose among the following candidates without completing type inference


0
vote

проблема

русский

У меня есть эти три вспомогательные расширения:

 <код> fun <T, K : BaseViewHolder> BaseQuickAdapter<T, K>.onItemClick(         onItemClick: (adapter: BaseQuickAdapter<*, *>, position: Int, item: T) -> Unit ): BaseQuickAdapter<T, K> {     setOnItemClickListener { adapter, _, position ->         onItemClick(adapter, position, data[position])     }     return this }  fun <T, K : BaseViewHolder> BaseQuickAdapter<T, K>.onItemClick(         onItemClick: (position: Int, item: T) -> Unit ): BaseQuickAdapter<T, K> =         onItemClick { _, position, item -> onItemClick(position, item) }  fun <T, K : BaseViewHolder> BaseQuickAdapter<T, K>.onItemClick(         onItemClick: (item: T) -> Unit ): BaseQuickAdapter<T, K> =         onItemClick { _, item -> onItemClick(item) }   

Каждый <код> onItemClick функция требует один аргумент меньше, чем предыдущий

Когда я звоню:

 <код> onItemClick { item ->   }   

Все работает нормально, как ожидалось, и последний метод называется.

Но когда я удаляю явную <код> item объявления, попробуйте использовать <код> it

 <код> onItemClick {     it.doStuff() }   

Я получаю эту ошибку:

 <код> Cannot choose among the following candidates without completing type inference: public fun <T, K : BaseViewHolder> BaseQuickAdapter<T#1 (type parameter of humazed.github.com.kotlinandroidutils.simpleAdapter), KBaseViewHolder>.onItemClick(onItemClick: (adapter: BaseQuickAdapter<*, *>, position: Int, item: T#1) → Unit): BaseQuickAdapter<T#1, KBaseViewHolder> defined in humazed.github.com.kotlinandroidutils public fun <T, K : BaseViewHolder> BaseQuickAdapter<T#1, KBaseViewHolder>.onItemClick(onItemClick: (item: T#1) → Unit): BaseQuickAdapter<T#1, KBaseViewHolder> defined in humazed.github.com.kotlinandroidutils public fun <T, K : BaseViewHolder> BaseQuickAdapter<T#1, KBaseViewHolder>.onItemClick(onItemClick: (position: Int, item: T#1) → Unit): BaseQuickAdapter<T#1, KBaseViewHolder> defined in humazed.github.com.kotlinandroidutils   

Полный код на github

Я знаю, есть подобные вопросы на SOF, но они не такие, как мои, и ответы не применяются здесь.

Английский оригинал

I have these three helper extensions:

fun <T, K : BaseViewHolder> BaseQuickAdapter<T, K>.onItemClick(         onItemClick: (adapter: BaseQuickAdapter<*, *>, position: Int, item: T) -> Unit ): BaseQuickAdapter<T, K> {     setOnItemClickListener { adapter, _, position ->         onItemClick(adapter, position, data[position])     }     return this }  fun <T, K : BaseViewHolder> BaseQuickAdapter<T, K>.onItemClick(         onItemClick: (position: Int, item: T) -> Unit ): BaseQuickAdapter<T, K> =         onItemClick { _, position, item -> onItemClick(position, item) }  fun <T, K : BaseViewHolder> BaseQuickAdapter<T, K>.onItemClick(         onItemClick: (item: T) -> Unit ): BaseQuickAdapter<T, K> =         onItemClick { _, item -> onItemClick(item) } 

every onItemClick function takes one argument less that the previous one

when I call:

onItemClick { item ->   } 

everything works fine as expected and the last method is called.

but when I remove the explicit item ad try to use it

onItemClick {     it.doStuff() } 

I get this error:

Cannot choose among the following candidates without completing type inference: public fun <T, K : BaseViewHolder> BaseQuickAdapter<T#1 (type parameter of humazed.github.com.kotlinandroidutils.simpleAdapter), KBaseViewHolder>.onItemClick(onItemClick: (adapter: BaseQuickAdapter<*, *>, position: Int, item: T#1) → Unit): BaseQuickAdapter<T#1, KBaseViewHolder> defined in humazed.github.com.kotlinandroidutils public fun <T, K : BaseViewHolder> BaseQuickAdapter<T#1, KBaseViewHolder>.onItemClick(onItemClick: (item: T#1) → Unit): BaseQuickAdapter<T#1, KBaseViewHolder> defined in humazed.github.com.kotlinandroidutils public fun <T, K : BaseViewHolder> BaseQuickAdapter<T#1, KBaseViewHolder>.onItemClick(onItemClick: (position: Int, item: T#1) → Unit): BaseQuickAdapter<T#1, KBaseViewHolder> defined in humazed.github.com.kotlinandroidutils 

the full code on GitHub

I'm aware there are similar questions on SOF but they are not the same as mine and the answers don't apply here.

</div
     
         
         

Список ответов

Связанный проблема

9  Котлин Компилятор Ошибка встроенной функции, не совсем уверен, что происходит  ( Kotlin compiler error inline function not exactly sure whats going on ) 
Я получил эту запутанную ошибку, которая, кажется, находится в компиляторе Kotlin, я не против изменения моего кода, но я пытаюсь выяснить, действительно ли я...

3  Анимации застряли / заморожены после отмены (onPause) и начните (Onreume)  ( Animations are stuck frozen after cancel onpause and start onresume ) 
Я пытаюсь анимировать 3 значки в моем <код> Activity с использованием <код> ObjectAnimator . Сама анимация работает нормально, но когда я проверяю его, блоки...

0  Сила страницы для загрузки внутри WebView вместо внешних браузеров, сохраняя низкий API LVL  ( Force pages to load inside webview instead external browsers keeping a low api l ) 
Я пытаюсь иметь все свои URL-адреса, загруженные внутри моего веб-просмотра в Android-студии вместо в наружных браузерах, я в этом вступил в это, реализовав с...

0  Тип несоответствие с котлинским универсальным адаптером  ( Type mismatch with kotlin generic adapter ) 
Я пытаюсь создать базовый класс адаптера, который может быть расширен всеми другими адаптерами RecyClerview, поскольку они не сильно отличаются друг от друга....

0  Сборка Грейла продолжает не пропустить пропустить миграцию Hilt Chilt  ( Gradle build keeps failing due to missingbinding on dagger hilt migration ) 
Я пытаюсь перенести свой проект на <код> Dagger Hilt и сталкиваться с проблемой с отсутствием привязки. Я следовал за Googles rel="nofollow noreferrer"> Cod...

19  Выполнить задачу каждую секунду с помощью API Manager API  ( Execute task every second using work manager api ) 
Manager Manager - это новый API, и я пытаюсь выполнить задачу каждую секунду, но это не работает. Это мой рабочий класс <код> class TestingWorker : Worker...

0  Можно ли подавлять предупреждения в конкретном каталоге?  ( Is it possible to suppress warnings in a specific directory ) 
В моем проекте я должен был скопировать библиотеку в мой источник, чтобы сделать некоторые незначительные корректировки. Эта библиотека бросает пару предупреж...

10  Kotlin Iterable не поддерживается в луче Apache?  ( Kotlin iterable not supported in apache beam ) 
Бал Apache, кажется, отказывается распознавать <код Кода> Iterable . Вот пример код: <код> @ProcessElement fun processElement( @Element input: KV<String...

2  Ошибка: не удалось скачать kotlin-gradle-plugin.jar (org.jetbraines.kotlin: kotlin-Ridle-plugin: 1.3.50): кэшированная версия не доступна для вне форума  ( Error could not download kotlin gradle plugin jar org jetbrains kotlinkotlin ) 
Пожалуйста, я только что создал новый проект с Kotlin на Android Studio 3.5, это дает мне эту ошибку: «Не удалось скачать Kotlin-Gradle-Plugin.jar (org.jetbra...

0  Что такое преимущество использования следующего рисунка, как описано в Docks Developer  ( What is the advantage of using following pattern as described in developer docs ) 
Я проходил через документы разработчика для привязки данных. Я нашел следующий фрагмент: <код> private var _binding: ResultProfileBinding? = null // This pr...

1  Как я могу установить разный радиус для каждого угла макета программно?  ( How can i set different radius for each corner of a layout programmatically ) 
У меня есть класс Kotlin, который расширяет Linearlayouts. Я использую его, чтобы добавить радиус на мои макеты. Вот класс. <код> import android.content.Con...

0  Admob Native Advanced -> Умный баннер совместимый шаблон  ( Admob native advanced smart banner compatible template ) 
Я прочитал о тех шаблонах по адресу: https://github.com / Googleads / Googleads-Mobile-Android-National-шаблоны вроде Google рекомендует здесь Для их испо...

0  Кэшинга не работала на работе при добавлении интернет-соединения перехвата (модернизация 2 - Android)  ( Caching didnt work work when adding internet connection interceptor retrofit 2 ) 
Я пытаюсь реализовать интернет-соединение перехватчика с кэшированием с помощью модернизации и OKHTTP. Кэширование работает нормально, не добавляя интернет-...

2  Котлин: кастинг объекта к общему классу  ( Kotlin casting an object to generic class ) 
Как получить тип универсального класса и отбрасывать к нему объект? Я хочу использовать эту функцию для передачи класса интерфейса: <код> protected fun <T...

1  Как получить полный объект объекта с помощью номера запросов с использованием таблицы с FK  ( How to get the full entity object with a query room using a table with fk ) 
Допустим, у меня есть эти таблицы: Таблица - пользователь хранит пользователей <код> @Entity( tableName = "USER" ) data class User( @PrimaryKe...

Связанный проблема

9  Котлин Компилятор Ошибка встроенной функции, не совсем уверен, что происходит 
3  Анимации застряли / заморожены после отмены (onPause) и начните (Onreume) 
0  Сила страницы для загрузки внутри WebView вместо внешних браузеров, сохраняя низкий API LVL 
0  Тип несоответствие с котлинским универсальным адаптером 
0  Сборка Грейла продолжает не пропустить пропустить миграцию Hilt Chilt 
19  Выполнить задачу каждую секунду с помощью API Manager API 
0  Можно ли подавлять предупреждения в конкретном каталоге? 
10  Kotlin Iterable не поддерживается в луче Apache? 
2  Ошибка: не удалось скачать kotlin-gradle-plugin.jar (org.jetbraines.kotlin: kotlin-Ridle-plugin: 1.3.50): кэшированная версия не доступна для вне форума 
0  Что такое преимущество использования следующего рисунка, как описано в Docks Developer 
1  Как я могу установить разный радиус для каждого угла макета программно? 
0  Admob Native Advanced -> Умный баннер совместимый шаблон 
0  Кэшинга не работала на работе при добавлении интернет-соединения перехвата (модернизация 2 - Android) 
2  Котлин: кастинг объекта к общему классу 
1  Как получить полный объект объекта с помощью номера запросов с использованием таблицы с FK 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.