Я совершенно новичок в разработке Android, поэтому я только что установил Android studio несколько дней назад.
Я создал новый проект с поддержкой Kotlin и пустым действием и хочу использовать библиотеку anko для создания диалога.
Мой MainActivity.kt выглядит следующим образом:
package me.example.com.test
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
b_test.setOnClickListener {
makeDialog().show()
}
}
}
и я создал test_dialog.kt со следующим содержимым:
package me.example.com.test
import org.jetbrains.anko.*
fun makeDialog() = alert("Test"){
yesButton { toast("Oh…") }
noButton {}
}
и в build.gradle для приложения я добавил материал anko:
implementation "org.jetbrains.anko:anko-commons:$anko_version"
// Anko Layouts
implementation "org.jetbrains.anko:anko-sdk27:$anko_version" // sdk15, sdk19, sdk21, sdk23 are also available
implementation "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
// Coroutine listeners for Anko Layouts
implementation "org.jetbrains.anko:anko-sdk27-coroutines:$anko_version"
implementation "org.jetbrains.anko:anko-appcompat-v7-coroutines:$anko_version"
// Anko SQLite
implementation "org.jetbrains.anko:anko-sqlite:$anko_version"
Когда я впервые скопировал его с GitHub, это был sdk25. Я заменил его на 27 (поскольку это был выбранный API для создания проекта).
И к build.gradle для проекта я добавил:
ext.kotlin_version = '1.3.0'
ext.anko_version='0.10.8'
Обе версии имеют одну и ту же проблему: alert, yesButton, noButton и toast в test_dialog.kt являются неразрешенными ссылками.
Версия Kotlin изначально отличалась, но было предупреждение (в дополнение к неразрешенным ошибкам ссылок), говорящее о несовпадающих версиях Kotlin, поэтому я изменил это.
Кто-нибудь знает, как решить эти неразрешенные ссылки?