¿Cuál es la razón detrás de "reference no resuelta" cuando se usa kotlin para FacebookLogin?
Sigo recibiendo un error de "reference no resuelta: FacebookCallback" cuando bash implementar el código adjunto en la image.
- La variable de instancia de Kotlin es nula cuando se accede por la class proxied de Spring
- Agregar un interceptor a un cliente okHttp3 ya construido
- No se puede networkingucir una list de booleans en kotlin
- Pausa y reanuda la animation de Lottie
- ¿Cuál es el propósito de una statement de object dentro de una class sellada en Kotlin?
Estoy tratando de configurar el inicio de session de Facebook como se indica en este enlace: https://developers.facebook.com/docs/facebook-login/android#addbutton
Soy nuevo en Kotlin pero no puedo ver lo que estoy haciendo mal aquí.
EDITAR:
Aquí están mis files de gradle:
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'com.neenbedankt.android-apt' android { compileSdkVersion 24 buildToolsVersion "24.0.0" defaultConfig { applicationId "yetti.yetti" minSdkVersion 23 targetSdkVersion 24 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main.java.srcDirs += 'src/main/kotlin' androidTest.java.srcDirs += 'src/androidTest/kotlin' } dexOptions { javaMaxHeapSize "2048M" } compileOptions.incremental = false } kapt { generateStubs = true } 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:$kotlin_version" compile 'com.android.support:appcompat-v7:24.0.0' compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha4' compile 'com.jakewharton:butterknife:8.2.1' compile 'com.facebook.android:facebook-android-sdk:4.14.0' compile 'com.google.firebase:firebase-core:9.2.1' compile 'com.google.firebase:firebase-database:9.2.1' compile 'com.google.firebase:firebase-auth:9.2.1' testCompile 'junit:junit:4.12' kapt 'com.jakewharton:butterknife-compiler:8.2.1' } // Add to the bottom of the file apply plugin: 'com.google.gms.google-services'
y:
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = '1.0.3' repositories { jcenter() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:2.2.0-alpha6' classpath 'com.google.gms:google-services:3.0.0' // the latest version of the android-apt plugin classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
Además, aquí está el código equivalente que estoy tratando de ejecutar pero escrito en Java simple (que funciona bien):
import com.facebook.FacebookCallback; import com.facebook.FacebookException; import com.facebook.login.LoginResult; public class Actv extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_actv); FacebookCallback<LoginResult> facebookCallback = new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { } @Override public void onCancel() { } @Override public void onError(FacebookException error) { } }; } }
- "Convertir" Clase de vista a anotación android
- ¿Cómo ejecutar la class Kotlin desde la línea de command?
- ¿Cómo obtengo un número fijo de celdas de cambio de tamaño sin relleno en javafx?
- ¿Cómo resolver esta "reference no resuelta" cuando he definido la function?
- Cómo: disparar y olvidar las corintinas asíncronas en Kotlin
- Fan-out / fan-in - canal de resultado de cierre
- Evento Kotlinx-html ref
- Uso del map RXJava en Kotlin?
Una forma adecuada para implementar anónimamente FacebookCallback
en Kotlin es la siguiente:
val facebookCallback = object : FacebookCallback<LoginResult> { override fun onSuccess(loginResult: LoginResult) { } override fun onCancel() { } override fun onError(error: FacebookException) { } }
La documentation de expresiones y declaraciones de objects proporciona todos los detalles necesarios.
- ¿Puedo enviar la function de extensión a través del parámetro de function?
- Kotlin maven plugin order de compilation