Size: a a a

StartAndroid Ru Kotlin

2018 July 04

A

Aleksandr in StartAndroid Ru Kotlin
можно и actionBar?.also
источник

A

Alex in StartAndroid Ru Kotlin
На сколько я помню. apply при инициализации объекта, let проверка на налл. В каких случаях использовать also ?
источник

[P

[отпуск] Dmitrii Pol... in StartAndroid Ru Kotlin
Alex
На сколько я помню. apply при инициализации объекта, let проверка на налл. В каких случаях использовать also ?
Проверка на нал это знак вопроса, независимо let или also
источник

A

Alex in StartAndroid Ru Kotlin
Ок, согласен. Я об операторах.
источник

A

Alex in StartAndroid Ru Kotlin
Вопрос был в разнице между apply let also
источник

[P

[отпуск] Dmitrii Pol... in StartAndroid Ru Kotlin
источник

A

Alex in StartAndroid Ru Kotlin
Спасибо)
источник

A

Aleksandr in StartAndroid Ru Kotlin
Using scope functions apply/with/run/also/let

Kotlin provides a variety of functions to execute a block of code in the context of a given object. To choose the correct function, consider the following:

Are you calling methods on multiple objects in the block, or passing the instance of the context object as an argument? If you are, use one of the functions that allows you to access the context object as it, not this (also or let). Use also if the receiver is not used at all in the block.
// Context object is 'it'
class Baz {
   var currentBar: Bar?
   val observable: Observable

   val foo = createBar().also {
       currentBar = it                    // Accessing property of Baz
       observable.registerCallback(it)    // Passing context object as argument
   }
}

// Receiver not used in the block
val foo = createBar().also {
   LOG.info("Bar created")
}

// Context object is 'this'
class Baz {
   val foo: Bar = createBar().apply {
       color = RED    // Accessing only properties of Bar
       text = "Foo"
   }
}
What should the result of the call be? If the result needs to be the context object, use apply or also. If you need to return a value from the block, use with, let or run
// Return value is context object
class Baz {
   val foo: Bar = createBar().apply {
       color = RED    // Accessing only properties of Bar
       text = "Foo"
   }
}


// Return value is block result
class Baz {
   val foo: Bar = createNetworkConnection().let {
       loadBar()
   }
}
Is the context object nullable, or is it evaluated as a result of a call chain? If it is, use apply, let or run. Otherwise, use with or also.
// Context object is nullable
person.email?.let { sendEmail(it) }

// Context object is non-null and accessible directly
with(person) {
   println("First name: $firstName, last name: $lastName")
}
источник

A

Aleksandr in StartAndroid Ru Kotlin
источник
2018 July 06

PT

Paul Trinko in StartAndroid Ru Kotlin
Переслано от Paul Trinko
Статистика по Котлину.

https://pusher.com/state-of-kotlin
источник
2018 July 09

АП

Алексей Пашкин... in StartAndroid Ru Kotlin
Никто не сталкивался с проблемой, при которой в DiffUtill.ItemCallback OldItem прилетает уже измененной?
и в итоге нифига не обновляется, т.к. данные при сравнении в обоих элементах идентичны
источник

АП

Алексей Пашкин... in StartAndroid Ru Kotlin
Переслано от Алексей Пашкин...
датасорс беру отсюда
источник

АП

Алексей Пашкин... in StartAndroid Ru Kotlin
Переслано от Алексей Пашкин...
на лист подписываюсь так
источник

АП

Алексей Пашкин... in StartAndroid Ru Kotlin
Переслано от Алексей Пашкин...
адаптер
источник

АП

Алексей Пашкин... in StartAndroid Ru Kotlin
Переслано от Алексей Пашкин...
Колбек
источник

АП

Алексей Пашкин... in StartAndroid Ru Kotlin
все по уроку
источник

АП

Алексей Пашкин... in StartAndroid Ru Kotlin
источник
2018 July 10

AP

Andrey Platonov in StartAndroid Ru Kotlin
Hello
источник

VB

Vladimir Bobkov in StartAndroid Ru Kotlin
Хай, нарооод!!! Как перевести на Котлин:

private Navigator navigator = new SupportFragmentNavigator(getSupportFragmentManager(),
                                                          R.id.main_container) {
 @Override
 protected Fragment createFragment(String screenKey, Object data) {
   switch(screenKey) {
     case LIST_SCREEN:
   return ListFragment.getNewInstance(data);
     case DETAILS_SCREEN:
   return DetailsFragment.getNewInstance(data);
     default:
       throw new RuntimeException(“Unknown screen key!”);
   }
 }

 @Override
 protected void showSystemMessage(String message) {
   Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT).show();
 }

 @Override
 protected void exit() {
   finish();
 }
};
источник

VB

Vladimir Bobkov in StartAndroid Ru Kotlin
На этом мысль останавливается
источник