我正在尝试使用anko
扩展名执行选择,kotlin
如下所示
fun read() {
database.use {
select(PersonTable.Name).exec {
select("myTable").exec() {
parseList(
object : MapRowParser<Map<String, Any>> {
override fun parseRow(columns: Map<String, Any?>): Map<String, Any> {
Log.d("Hello", "Hello")
return columns;
}
}
)
}
}
}
}
我收到一个错误return column
Type mismatch. Required Map<String, Any> Found Map<String, Any?>
如果我更改为override fun parseRow(columns: Map<String, Any>): Map<String, Any>
则显示错误。
构建.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.williams.fourthdemo"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
compile 'com.android.support:appcompat-v7:25.3.1'
testCompile 'junit:junit:4.12'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile "org.jetbrains.anko:anko-common:0.10.1"
compile "org.jetbrains.anko:anko-sqlite:0.10.1"
}
这个错误在 anko 库中吗?