Проверка Котлина: переменная такая же, как и другая переменная, и должна быть встроена - PullRequest
0 голосов
/ 08 сентября 2018

Может кто-нибудь сказать мне, как мне исправить это предупреждение? Google только рассказал мне о встроенных функциях в Kotlin, что не имеет значения.

Это не нарушает сборку, но я действительно хотел бы написать лучший код.

enter image description here

Если я нажму Ctrl + F1, появится

Эта проверка сообщает о локальных переменных, которые используются только в самом следующий оператор возврата или точные копии других переменных. В обоих В таких случаях лучше указывать такую ​​переменную.

Я вставил сюда код для вашего удобства. Заранее спасибо!

override fun onPreferenceChange(preference: Preference?, value: Any?): Boolean {
    val stringValue = value.toString()

    if (preference is ListPreference) {
        val listPreference = preference
        ...
    }
}

1 Ответ

0 голосов
/ 12 октября 2018

Я нашел ответ, val listPreference = предпочтение не требуется, потому что это будет сделано smartcast автоматически.

https://kotlinlang.org/docs/reference/typecasts.html

    if (preference is ListPreference) {
        val index = preference.findIndexOfValue(stringValue)

        preference.summary = (
                if (index >= 0)
                    preference.entries[index]
                else
                    null)
    }
    ......
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...