Если вы используете findViewById
от Kotlin, вам никогда не понадобится приведение (от API уровня 26 и выше).Вы должны использовать его одним из следующих двух способов:
val myTV1 = findViewById<TextView>(R.id.myTextView)
val myTV2: TextView = findViewById(R.id.myTextView)
И затем вы можете получить доступ к его свойствам через следующие переменные:
myTV1.text = "testing"
Это совершенно правильный способ получения ссылок и просмотра.используя их в Kotlin как есть.
Однако, если у вас также включены Расширения Kotlin Android , включенные в проект (по строке apply plugin: 'kotlin-android-extensions'
на уровне вашего модуля build.gradle
файл), вы также можете ссылаться на свои Представления по их идентификаторам через синтетические свойства, которые он предоставляет, просто убедитесь, что вы правильно импортировали, например:
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
myTextView.text = "testing"
}
}
Обратите внимание, что Kotlin Android Extensions совершенно необязателен дляиспользуйте, и если вы используете его, findViewById
, конечно, все еще доступен, если по какой-либо причине вы хотите смешать два метода.