Size: a a a

Kotlin Community

2020 June 09

K

Kirill in Kotlin Community
Заметил, что студия накидывает @JvmStatic на функции в компаньене, в данном случае в этой аннотации есть смысл?))
источник

AN

Alexander Nozik in Kotlin Community
Kirill
Заметил, что студия накидывает @JvmStatic на функции в компаньене, в данном случае в этой аннотации есть смысл?))
Когда нужен обратный интероп из джавы
источник

K

Kirill in Kotlin Community
Alexander Nozik
Когда нужен обратный интероп из джавы
Тогда ок, спасибо
источник

LS

Lev Shagalov in Kotlin Community
У меня when по short и в каждом случае мне надо писать 1.toShort(), 2.toShort() и так там до 50. И это часто вызывается. Эти 2.toShort() будут оптимизированы или это можно как то умнее сделать?
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
У меня when по short и в каждом случае мне надо писать 1.toShort(), 2.toShort() и так там до 50. И это часто вызывается. Эти 2.toShort() будут оптимизированы или это можно как то умнее сделать?
Если я правильно помню, то там всегда инт унутре
источник

BP

Bogdan Panchenko in Kotlin Community
Lev Shagalov
У меня when по short и в каждом случае мне надо писать 1.toShort(), 2.toShort() и так там до 50. И это часто вызывается. Эти 2.toShort() будут оптимизированы или это можно как то умнее сделать?
Для jvm все равно оно скастится обратно к Int, лучше сделать when (short.toInt())
источник

LS

Lev Shagalov in Kotlin Community
Я пытаюсь сделать последовательную обработку сообщений через актор (много shared mutable state, проще все сделать последовательно). В нем регистрируются обработчики сообщений (мапа по классам сообщений). Иногда на сообщения надо бы вернуть результат. Как это лучше реализовать? Через Deferred?
источник

VP

Vladimir Petrakovich in Kotlin Community
Lev Shagalov
У меня when по short и в каждом случае мне надо писать 1.toShort(), 2.toShort() и так там до 50. И это часто вызывается. Эти 2.toShort() будут оптимизированы или это можно как то умнее сделать?
Делать надо красивее, поэтому лучше сделать в одном месте toInt
источник

VP

Vladimir Petrakovich in Kotlin Community
Lev Shagalov
Я пытаюсь сделать последовательную обработку сообщений через актор (много shared mutable state, проще все сделать последовательно). В нем регистрируются обработчики сообщений (мапа по классам сообщений). Иногда на сообщения надо бы вернуть результат. Как это лучше реализовать? Через Deferred?
Через Deferred вполне норм, раз уж такая ситуация. Но возможно удобнее заиспользовать Mutex.
источник

LS

Lev Shagalov in Kotlin Community
Mutex чем поможет? мне результат вернуть хочется
источник

LS

Lev Shagalov in Kotlin Community
а... завернуть в мутекс обработку всех сообщений?
источник

М

Максим in Kotlin Community
Lev Shagalov
а... завернуть в мутекс обработку всех сообщений?
Мутекс нужен чтобы была очередность, а внутри деферреды.
источник

М

Максим in Kotlin Community
И корутина дергает колбек когда деферред готов
источник

М

Максим in Kotlin Community
Kirill Timofeev
привет, вот так вот можно отключить
🙏
источник

П

Петр in Kotlin Community
Добрый день! Не могли бы вы подсказать, почему в этом коде функция button2_click_handler выполняется только при первом нажатии кнопки? на последующие она не реагирует. Заранее спасибо.

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d("TAG", "Hi")
val showbutton:TextView=findViewById(R.id.button) //найдем кнопку
val editText:TextView= findViewById(R.id.editTextTextPersonName2) //найдем текст

fun button2_click_handler(v:View){

showbutton.setOnClickListener {
}
val text:String=editText.text.toString()
if( text == null) {
return //если сумма неверна, выведем ноль
}

val sum:Int = text.toInt() //положим сумму в переменную sum типа int
val tax:Double = calcTax(sum)

Log.d("TAG", "Butt2 was pressed ${tax}")
val Showtime=Toast.makeText(this, "${tax}", Toast.LENGTH_SHORT)
Showtime.show()
}
button.setOnClickListener(::button2_click_handler)
источник

AL

Alexander Levin in Kotlin Community
Петр
Добрый день! Не могли бы вы подсказать, почему в этом коде функция button2_click_handler выполняется только при первом нажатии кнопки? на последующие она не реагирует. Заранее спасибо.

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d("TAG", "Hi")
val showbutton:TextView=findViewById(R.id.button) //найдем кнопку
val editText:TextView= findViewById(R.id.editTextTextPersonName2) //найдем текст

fun button2_click_handler(v:View){

showbutton.setOnClickListener {
}
val text:String=editText.text.toString()
if( text == null) {
return //если сумма неверна, выведем ноль
}

val sum:Int = text.toInt() //положим сумму в переменную sum типа int
val tax:Double = calcTax(sum)

Log.d("TAG", "Butt2 was pressed ${tax}")
val Showtime=Toast.makeText(this, "${tax}", Toast.LENGTH_SHORT)
Showtime.show()
}
button.setOnClickListener(::button2_click_handler)
Можно пожалуйста не кросспостить, во всех 3+ чатах примерно одни и те же люди сидят :)
источник

П

Петр in Kotlin Community
Простите😬
источник

I

Ivan in Kotlin Community
Петр
Добрый день! Не могли бы вы подсказать, почему в этом коде функция button2_click_handler выполняется только при первом нажатии кнопки? на последующие она не реагирует. Заранее спасибо.

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d("TAG", "Hi")
val showbutton:TextView=findViewById(R.id.button) //найдем кнопку
val editText:TextView= findViewById(R.id.editTextTextPersonName2) //найдем текст

fun button2_click_handler(v:View){

showbutton.setOnClickListener {
}
val text:String=editText.text.toString()
if( text == null) {
return //если сумма неверна, выведем ноль
}

val sum:Int = text.toInt() //положим сумму в переменную sum типа int
val tax:Double = calcTax(sum)

Log.d("TAG", "Butt2 was pressed ${tax}")
val Showtime=Toast.makeText(this, "${tax}", Toast.LENGTH_SHORT)
Showtime.show()
}
button.setOnClickListener(::button2_click_handler)
Ну, тут вообще диковато по коду. Почему нельзя просто в onCreate повесить слушателя без всяких button2_click_handler?

Просто в onCreate

button.setOnClickListener {
 тут что нужно выполнять по клику
}
источник

I

Ivan in Kotlin Community
Петр
Простите😬
@android_ru чат по андроиду, тут по котлину
источник

BB

Behruz Bahromzoda in Kotlin Community
Ivan
Ну, тут вообще диковато по коду. Почему нельзя просто в onCreate повесить слушателя без всяких button2_click_handler?

Просто в onCreate

button.setOnClickListener {
 тут что нужно выполнять по клику
}
++++++
источник