/ Le paramètre d'annotation Kotlin doit être une constante de compilation - Android, Kotlin

Le paramètre d'annotation Kotlin doit être une constante de compilation - Android, Kotlin

@BindView(R.id.et_login_username)
internal var loginUsername: EditText? = null

Le paramètre d'annotation Kotlin doit être une constante de compilation

C’est l’erreur qui s’affiche.

Réponses:

5 pour la réponse № 1

Utiliser ButterKnife dans Kotlin, assurez-vous d’avoir ajouté les dépendances suivantes dans app gradle.

apply plugin: "kotlin-android"
apply plugin: "kotlin-kapt"
apply plugin: "kotlin-android-extensions"

dependencies {

implementation "com.jakewharton:butterknife:latest-version"

// use kapt for kotlin
kapt "com.jakewharton:butterknife-compiler:latest-version"
}

Dans votre activité, déclarez des vues à l'aide de lateinit éviter erreur constante lors de la compilation:

@BindView(R.id.et_login_username)
lateinit var loginUsername: EditText

En outre, les développeurs de Kotlin ont également introduit une alternative pour lier les vues Android, qui élimine findViewById appels. C'est ce qu'on appelle Kotlin Extensions Android,

Pour utiliser ceci:

Dans applications build.gradle, ajoute ce plugin

apply plugin: "kotlin-android-extensions"

En activité,

import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// All views can be used directly with their id declared in the xml
et_login_username.setText("Hello")
}