Size: a a a

StartAndroid Ru Kotlin

2019 February 19

АН

Амир Насибов... in StartAndroid Ru Kotlin
А тут у Гугла у самого разногласия по этому поводу
источник

DB

Dmytro Borysov in StartAndroid Ru Kotlin
Амир Насибов
А тут у Гугла у самого разногласия по этому поводу
в разных проектах разные типы наименования? или как?
источник

LR

Leonid Ratanov in StartAndroid Ru Kotlin
В xml - подчеркиванием
источник

LR

Leonid Ratanov in StartAndroid Ru Kotlin
В коде если создаём - camel
источник

АН

Амир Насибов... in StartAndroid Ru Kotlin
А если на прямую обращаемся к Вью?
источник

ВК

Вячеслав Колесников... in StartAndroid Ru Kotlin
Leonid Ratanov
В xml - подчеркиванием
Верно говорит. 2 дня назад тонну инфы по этому поводу перерыл - верно говорит
источник

LR

Leonid Ratanov in StartAndroid Ru Kotlin
Амир Насибов
А если на прямую обращаемся к Вью?
Как в xml описал - так и обращаешься
источник

LR

Leonid Ratanov in StartAndroid Ru Kotlin
val login = login_edit_text.text.toString()
источник

АН

Амир Насибов... in StartAndroid Ru Kotlin
Я понял) спасибо
источник

LR

Leonid Ratanov in StartAndroid Ru Kotlin
А в коде если создаём (что чаще всего):
val loginEditText = EditText(context).apply {
   ...
}
источник

ВК

Вячеслав Колесников... in StartAndroid Ru Kotlin
let очень полезен при работе с объектами, которые могут принимать значение null. Вместо того чтобы создавать бесконечные цепочки выражений if-else, можно просто скомбинировать оператор ? (называется «оператор безопасного вызова») с let: в результате вы получите лямбду, у которой аргумент it является не-nullable-версией исходного объекта.

val layout = LayoutStyle()
SharedState.previousOrientation?.let { layout.orientation = it }

Пожалуй, run — самая простая из рассмотренных функций. Она определена как функция-расширение типа, чей экземпляр затем передаётся в качестве получателя и возвращает результат исполнения функции block. Может показаться, что run — некий гибрид let и apply, и это действительно так. Единственное отличие заключается в возвращаемом значении: в случае с apply мы возвращаем самого получателя, а в случае с run — результат функции block (как и у let).

Не очень понял отличия run и let. Вроде как let подходит тут
источник

A

Aleksandr in StartAndroid Ru Kotlin
run, apply - внутри блока обращаемся this
let, also - внутри блока обращаемся it
источник

A

Aleksandr in StartAndroid Ru Kotlin
also, apply - возвращают объект-контекст
let, run - возвращают результат выполнения блока
источник

ВК

Вячеслав Колесников... in StartAndroid Ru Kotlin
Спасибо
источник

ВК

Вячеслав Колесников... in StartAndroid Ru Kotlin
Привет
if (intent.resolveActivity() != null) { - эта проверка 100 % необходимость? Может быть что нет активности для получения? Такое бывает при явном указании интента или только при НЕ явном?

intent.resolveActivity(pm)
Что такое pm тут? У меня красным выделяет
источник

A

Aleksandr in StartAndroid Ru Kotlin
resolveActivity(PackageManager pm)
источник

ВК

Вячеслав Колесников... in StartAndroid Ru Kotlin
Aleksandr
resolveActivity(PackageManager pm)
Спасибо. Видимо нужно будет понять что это такое packageManager
источник

ВК

Вячеслав Колесников... in StartAndroid Ru Kotlin
Чтобы узнать, найдутся ли на устройстве активности, способные получить интент, вызовите метод resolveActivity()
интента и проверьте его возвращаемое значение. Если возвращаемое значение равно null, это означает,
что подходящих активностей на устройстве нет, и метод startActivity() вызывать не следует

if (intent.resolveActivity(packageManager) != null) {

Теперь при такой проверке НЕ явный вызов интента не работает. На устройке есть еще приложения которые обрабатывают сообщения. Почему?
источник

LR

Leonid Ratanov in StartAndroid Ru Kotlin
Должно работать.
Полный код покажите
источник

LR

Leonid Ratanov in StartAndroid Ru Kotlin
packageManager как получаете?
источник