Как избежать предупреждения компилятора Параметр «x» никогда не используется

Предложите лучший способ решить этот тип предупреждения компилятора в Android Studio 3.3

Примечание. Я нашел множество решений, позволяющих избежать предупреждений и отключить проверку Studio. Но я ожидаю чего-то другого.

Пример: если предупреждение Параметр view1 никогда не используется находится в методе кнопки onClick.

Метод

fun buttonClicked(view1: View) {
//   Call Intent to new Activity . 
// Parameter **view1** is not used  }

Вызов метода из XML

 <Button
 android:id="@+id/button_id"
 android:layout_height="wrap_content"
 android:layout_width="wrap_content"
 android:onClick="@{viewModel::buttonClicked}"
 android:text="@string/example" />.

Поэтому нам нужен параметр (view1: View) для метода onClick. Но он не используется. Как я могу решить это предупреждение? (Только один пример).


person Joyal    schedule 19.02.2019    source источник
comment
stackoverflow.com/questions/23382532/   -  person Zoe    schedule 19.02.2019
comment
@Zoe, какая будет команда на машине Mac. Кроме того, я не использую масляный нож в своем проекте.   -  person Joyal    schedule 19.02.2019
comment
Та же идея, разные ключи. Я понятия не имею, что такое alt на Mac.   -  person Zoe    schedule 19.02.2019


Ответы (2)


Мне потребовалось несколько дней, чтобы выяснить, как управлять этим предупреждением без использования @SuppressWarnings("unused").

android:onClick="@{viewModel::buttonClicked}" равно android:onClick="@{(v) -> viewModel.buttonClicked(v)}, оба вызывали один и тот же метод fun buttonClicked(view1: View) в Kotlin (просто попробуйте упомянуть разницу между использованием '::' и '.')

Поэтому я исправил свое предупреждение о явном вызове метода вместо использования -'::'

fun buttonClicked() // Button onClick function

Он будет вызываться из XML — >android:onClick="@{(v) -> viewModel.buttonClicked()}". Таким образом, "Параметр view1 никогда не используется" больше не будет.

Простое исправление !! Счастливого кодирования

person Joyal    schedule 21.02.2019

Я просто стараюсь использовать переменную представления дешевым способом, чтобы ошибка исчезла:

Log.d("IGNORE", "Logging view to curb warnings: $view1")

Не элегантный ответ, но один журнал не замедлит работу приложения, и он делает свое дело.

person Hannah S.    schedule 26.09.2019