我是一名新的 Kotlin 開發人員。在 Android Studio Logcat 上,當我添加一行新代碼時,出現此錯誤:
Changes were not applied. Added variable(s) does not support value initialization:
Adding static primitive
com.kadirmetin.myapplication.LiveLiterals$MainActivityKt.Int$val-sayac$fun-onCreate$class-MainActivity
not known to be compile time constant
Reinstall and restart app
Failed to launch an application on all devices
這是我的代碼:
var kullaniciIslemGunu = 5 // Pazartesi 1. gün
var kullaniciIslemSaati = 18 // 24H
when (kullaniciIslemGunu) {
in 1..5 -> {
when (kullaniciIslemSaati) {
in 9..17 -> {
println("??leminiz yap?lm??t?r.")
}
in 0..8 -> {
println("??leminiz gün i?inde saat 9:00'da ger?ekle?tirilecektir.")
}
in 18..24 -> {
when (kullaniciIslemGunu) {
5 -> println("??leminiz 3 gün sonra saat 9:00'da ger?ekle?tirilecektir.")
else -> println("??leminiz yar?n saat 9:00'da ger?ekle?tirilecektir.")
}
}
}
}
6 -> {
println("??leminiz 2 gün sonra saat 9:00'da ger?ekle?tirilecektir.")
}
7 -> {
println("??leminiz 1 gün sonra saat 9:00'da ger?ekle?tirilecektir.")
}
else -> println("Ge?erli gün giriniz.")
}
我找不到任何建議。請幫忙=)
uj5u.com熱心網友回復:
聽起來你沒有使用Run,你正在使用
左邊的是運行- 它會重新安裝并運行該應用程式,因此您可以從更新的所有內容中重新開始。
中間一個是Apply changes 和 Restart Activity——它基本上是用你對代碼或資源所做的任何更改來修補已經運行的應用程式,這樣你就可以更快地看到結果。它會重新啟動 Activity,因此您將丟失所有未持久化的狀態。
右邊的是Apply Code Changes——只有當你對方法體進行了更改時你才能這樣做,所以沒有新的頂級變數,沒有資源更改等。但是這個更新“實時”而不重新啟動任何東西,所以它有利于進行代碼更改并基本上立即看到結果。
因為這里存在限制,如果您(比如說)在對資源檔案進行更改后嘗試執行應用代碼更改,您將收到與您發布的錯誤類似的錯誤,“無法應用更改”。它也發生在其他情況下,Apply Changes無法處理事情,您必須改為執行正常的Run(并且Run始終有效,除非您的應用程式本身有問題)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/534394.html
標籤:安卓安卓工作室科特林kotlin-android-扩展
下一篇:json變數末尾的額外新行
