【发布时间】:2019-07-20 21:27:52
【问题描述】:
我在 Kotlin 中遇到了一件很奇怪的事情。 我有
var myClipboard = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager?
var myClip: ClipData? = ClipData.newPlainText( /* my code */ )
作为var 变量,我应该能够重新分配他的值,但是当我这样做时
myClipboard?.primaryClip = myClip
它给了我错误
Val 无法重新分配
最奇怪的是,我使用这段代码已经好几个星期了,而且它总是有效。当我更新到 API 29 时,它今天停止工作
这是我的build.gradleandroid{}
android {
compileSdkVersion 29
defaultConfig {
applicationId "com.arfmann.pushnotes"
minSdkVersion 23
targetSdkVersion 29
versionCode 16
versionName "1.6"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
【问题讨论】:
-
myClip是var,myClipboard是var。您正在尝试设置myClipboard?.primaryClip,这两者都不是。不过,您的语法应该可以工作。尝试将其切换到myClipboard?.setPrimaryClip()看看你会得到什么。 -
错误是指
primaryClip而不是myClipboard。