#android #kotlin
Изначально у меня метод выглядит следующим образом: override fun onListItemClick(itemIndex: Int, itemCode: String) { val data = adapter.getItem(itemIndex) if (data is TitleValueItem) { when (data.titleId) { R.string.v2_mobile_settings_language -> onLanguageClick() } } } теперь я его решил преобразовать таким образом: override fun onListItemClick(itemIndex: Int, itemCode: String) { when(adapter.getItem(itemIndex) as? TitleValueItem? ?: return) { R.string.some -> onLanguageClick() } } И он мне ругается на строковый ресурс, что мол Int вместо TitleValueItem, не могу понять, что я забыл дописать то .
Ответы
Ответ 1
Попробуйте следующим образом: override fun onListItemClick(itemIndex: Int, itemCode: String) { when ((adapter.getItem(itemIndex) as? TitleValueItem)?.titleId ?: return) { R.string.v2_mobile_settings_language -> onLanguageClick() } }Ответ 2
Вот так попробуйте override fun onListItemClick(itemIndex: Int, itemCode: String) { when((adapter.getItem(itemIndex) as? TitleValueItem? ?: return).titleId) { R.string.some -> onLanguageClick() } }
Комментариев нет:
Отправить комментарий