Запитання з тегом «kotlin»

Kotlin - це мова програмування з відкритим кодом, статично типована на JetBrains. Kotlin поєднує OOP та функціональні особливості та орієнтований на сумісність, безпеку, чіткість та підтримку інструментів. Наразі він орієнтований на JVM та JavaScript, і це офіційно підтримувана мова на Android.


9
NullPointerException при спробі доступу до представлень у фрагменті Котліна
Як використовувати розширення Android від Kotlin з Fragments? Якщо я використовую їх всередині onCreateView(), я отримую такий NullPointerExceptionвиняток: Викликано: java.lang.NullPointerException: спроба викликати віртуальний метод 'android.view.View android.view.View.findViewById (int)' в нульовій посилання на об'єкт Ось код фрагмента: package com.obaied.testrun.Fragment import android.os.Bundle import android.support.v4.app.Fragment import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import …

6
Форматування в шаблонах рядків kotlin
У Котліна є відмінна функція під назвою шаблони рядків. Я дуже люблю це. val i = 10 val s = "i = $i" // evaluates to "i = 10" Але чи можливо будь-яке форматування в шаблонах? Наприклад, я б хотів відформатувати Double в рядкових шаблонах у kotlin, принаймні, встановити ряд …

10
У списку Котліна відсутнє "додати", "видалити", на карті відсутнє "поставити" тощо?
На Java ми могли зробити наступне public class TempClass { List<Integer> myList = null; void doSomething() { myList = new ArrayList<>(); myList.add(10); myList.remove(10); } } Але якщо ми перепишемо його в Котлін безпосередньо, як нижче class TempClass { var myList: List<Int>? = null fun doSomething() { myList = ArrayList<Int>() myList!!.add(10) …

6
Як зробити первинний ключ як автоматичне посилення для кімнати
Я створюю їжу класу Entity (Room Persistence lib), де я хочу зробити foodIdяк підвищення. @Entity class Food(var foodName: String, var foodDesc: String, var protein: Double, var carbs: Double, var fat: Double) { @PrimaryKey var foodId: Int = 0 var calories: Double = 0.toDouble() } Як я можу встановити foodIdполе для …

7
Як створити порожній конструктор для класу даних в Android в Kotlin
У мене є параметр 10+ у класі даних, я хочу ініціалізувати клас даних із порожнім конструктором та встановити значення лише для кількох параметрів за допомогою сеттера та передати об’єкт серверу. data class Activity( var updated_on: String, var tags: List<String>, var description: String, var user_id: List<Int>, var status_id: Int, var title: …
195 android  kotlin 

8
пошкодження startForeground після оновлення до Android 8.1
Після оновлення телефону до 8.1 Developer Preview, моя фонова служба більше не запускається належним чином. У своїй тривалій службі я реалізував метод startForeground, щоб запустити постійне сповіщення, яке викликається при створенні. @TargetApi(Build.VERSION_CODES.O) private fun startForeground() { // Safe call, handled by compat lib. val notificationBuilder = NotificationCompat.Builder(this, DEFAULT_CHANNEL_ID) val notification …

2
Різниця між типами списку та масиву в Котліні
У чому різниця між типами Listта Arrayвидами? Здається, можна робити однакові операції з ними (петлі, вираз фільтра тощо), чи є різниця в поведінці чи використанні? val names1 = listOf("Joe","Ben","Thomas") val names2 = arrayOf("Joe","Ben","Thomas") for (name in names1) println(name) for (name in names2) println(name)
192 kotlin 

4
Які еквіваленти Java 8 Stream.collect доступні в стандартній бібліотеці Котліна?
У Java 8 є те, Stream.collectщо дозволяє агрегувати колекції. У Котліна це не існує аналогічно, як, можливо, як набір функцій розширення в stdlib. Але незрозуміло, що таке еквівалентність для різних випадків використання. Наприклад, у верхній частині JavaDoc дляCollectors є приклади, написані для Java 8, і при перенесенні їх на Kolin …

2
У Котліна, який ідіоматичний спосіб поводитися з незмінними значеннями, посилаючись на них або перетворюючи їх
Якщо у мене є нульовий тип Xyz?, я хочу посилатись на нього або перетворити його на ненульовий тип Xyz. Який ідіоматичний спосіб зробити це в Котліні? Наприклад, цей код помилково: val something: Xyz? = createPossiblyNullXyz() something.foo() // Error: "Only safe (?.) or non-null asserted (!!.) calls are allowed on a …

3
Що таке оператор Котліна з подвійним ударом (!!)?
Я перетворюю Java на Kotlin за допомогою Android Studio. Я отримую подвійний удар після змінної екземпляра. Що таке подвійний удар і, що важливіше, де це документально підтверджено? mMap!!.addMarker(MarkerOptions().position(london).title("Marker in London"))

8
Розширення класу даних у Котліні
Класи даних здаються заміною старомодним POJO на Java. Цілком очікувано, що ці класи дозволять успадкувати, але я не бачу зручного способу розширення класу даних. Мені потрібно щось подібне: open data class Resource (var id: Long = 0, var location: String = "") data class Book (var isbn: String) : Resource() …

6
Як перетворити список на карту в Котліні?
Наприклад, у мене є список рядків типу: val list = listOf("a", "b", "c", "d") і я хочу перетворити його на карту, де рядки є ключами. Я знаю, що я повинен використовувати цю .toMap()функцію, але не знаю як, і я не бачив жодних прикладів цього.
169 dictionary  kotlin 

30
Помилка: Не вдалося виконати завдання ": app: clean". Неможливо видалити файл
Я намагаюся відновити проект Android Studio Gradle (що містить в основному код Котліна), але він почав викидати UnableToDeleteFileExceptionпід час очищення / відновлення: Execution failed for task ':app:clean'. > Unable to delete file: C:\Users\User\KotlinGameEngine\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.1\jars\classes.jar Це почалося після того, як я спробував змінити структуру пакету свого проекту. На жаль, я зробив це …

13
Константи в Котліні - який рекомендований спосіб їх створення?
Як рекомендується створювати константи в Котліні? І що таке конвенція про іменування? Я цього не знайшов у документації. companion object { //1 val MY_CONST = "something" //2 const val MY_CONST = "something" //3 val myConst = "something" } Або ...?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.