我有这个问题:

错误:
C:\Users\avi12\OneDrive\Documents\AndroidApps\WhatsApp Easy Sticker Maker\app\src\main\java\com\avi12\whatsappeasystickermaker\MainActivity.kt: (20, 13): Overload resolution ambiguity:
public inline fun ViewManager.textView(init: (@AnkoViewDslMarker TextView).() -> Unit): TextView defined in org.jetbrains.anko
public inline fun ViewManager.textView(init: (@AnkoViewDslMarker TextView).() -> Unit): TextView defined in org.jetbrains.anko我的代码,因为我刚刚开始发现Anko:
package com.avi12.whatsappeasystickermaker
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import org.jetbrains.anko.design.*
import org.jetbrains.anko.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
coordinatorLayout {
textView {
text = "Begin by tapping the + button"
}
floatingActionButton {
}
}
}
}Anko版本:0.10.8
Android Studio版本:3.3
发布于 2019-01-29 07:46:23
问题似乎是,在build.gradle中,我有:
dependencies {
...
implementation "org.jetbrains.anko:anko-sdk25:$anko_version" // sdk15, sdk19, sdk21, sdk23 are also available
implementation "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
}出于某些原因,这在一定程度上解决了问题(就成功构建而言,仍然没有预览):
dependencies {
...
// implementation "org.jetbrains.anko:anko-sdk25:$anko_version" // sdk15, sdk19, sdk21, sdk23 are also available
implementation "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
}发布于 2019-02-10 20:34:49
只有当我们在实现AnkoComponent接口的外部类中定义布局时,...preview才有效。下面是我们将如何修改我们的活动,以便在一个单独的类中定义我们的视图:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
MainActivityUI().setContentView(this)
}
class MainActivityUI : AnkoComponent<MainActivity> {
override fun createView(ui: AnkoContext<MainActivity>) = with(ui) {
verticalLayout {
gravity = Gravity.CENTER
padding = dip(20)
textView {
gravity = Gravity.CENTER
text = "Enter your request"
textColor = Color.BLACK
textSize = 24f
}.lparams(width = matchParent) {
margin = dip(20)
}
val name = editText {
hint = "What is your name?"
}
editText {
hint = "What is your message?"
lines = 3
}
button("Enter") {
onClick {
toast( "Hey ${name.text}! Thank you for contacting us. We will get in touch with you soon.")
}
}.lparams(dip(280), sp(80))
}
}
}}
我希望它能解决这个问题,我很快就会知道...
https://stackoverflow.com/questions/54411754
复制相似问题