Tag: android

Holdr in Kotlin的未解决的参考

我正在尝试使用名为Holdr( https://github.com/evant/holdr )的库来根据我的布局文件生成类,以便在我的活动中轻松地引用这些布局中的视图。 我可以验证这些类是在生成时生成的 ./gradlew assembleDebug 布局activity_main.xml的类生成Holdr_ActivityMain.java app/build/generated/source/holdr/ Kotlin在任务中给了我两个错误 :app:compileDebugKotlin 错误 e: (8, 44): Unresolved reference: holdr e: (12, 24): Unresolved reference: Holdr_ActivityMain 这是我的班 import com.myapp.holdr.Holdr_ActivityMain public class MainActivity : Activity() { private var holdr: Holdr_ActivityMain? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } } 这是我的build.gradle apply plugin: 'com.android.application' apply plugin: 'me.tatarka.holdr' apply […]

Android注释与Kotlin

我不能用Kotlin Android Project运行Android Annotation。 当我尝试运行与MainActivity_的链接我的应用程序,我的应用程序崩溃。 但我用@EActivity标记Activity类 无法实例化活动ComponentInfo {ru.lionzxy.jetbrainsintership / ru.lionzxy.jetbrainsintership.MainActivity_} 我尝试添加 kapt { generateStubs = true arguments { arg("androidManifestFile", variant.outputs[0].processResourcesTask.manifestFile) } } 和 kapt "org.androidannotations:androidannotations:$AAVersion" compile "org.androidannotations:androidannotations-api:$AAVersion" 在我的build.gradle文件中。 清理和建立。 并得到这个错误: 错误:执行任务':app:kaptDebugKotlin'失败。 编译错误。 查看日志了解更多详情 我的日志文件在/app/build/outputs/logs/manifest-merger-debug-report.txt中: https ://gist.github.com/LionZXY/bf398a3b64f787a56d985a5a0ea03bfe 我不明白为什么它不起作用。 我的完整build.gradle: https ://gist.github.com/LionZXY/4e672579fe89ad22cea07d2fe15a1621

在Kotlin中传递接口作为参数

我想通过一个接口作为这样的参数: class Test { fun main() { test({}) // how can I pass here? } fun test(handler: Handler) { // do something } interface Handler { fun onCompleted() } } 在Java中,我可以使用匿名函数如test(new Handler() { ………. }) ,但是我不能在Kotlin中这样做。 任何人都知道如何做到这一点?

Kotlin的泛型与扩展

我试图将Java项目移植到kotlin,并有一些问题。 我在Java中使用泛型有一些MVP结构 interface View<P extends Presenter> {} interface Presenter<V extends View> {} interface BaseView<P extends Presenter> extends View<P> {} class BaseActivity<P extends Presenter> extends AppCompatActivity implements BaseView<P> {} 最初两个类,我从IDE错误 interface Presenter<V : View<*>> {} interface View<P : Presenter<*>> {} 我的错误是 *this type parameter violates the finite bound restriction* Java代码没有任何问题

使用Kotlin无法在项目中设置Realm

我正在尝试用Realm在Kotlin上建立一个测试项目。 这是我的模型: open class Book : RealmObject() { // Standard getters & setters generated by your IDE… @PrimaryKey open var id: Long = 0 open var title = "" open var description = "" open var author = "" open var imageUrl = "" } 这里是我得到的例外: FATAL EXCEPTION: main Process: app.androidhive.info.realm, PID: 18782 java.lang.RuntimeException: Unable […]

转换Android项目使用Gradle脚本Kotlin

我想将我的Android项目中的build.gradle文件从Groovy转换为使用Gradle脚本Kotlin的Kotlin 。 最好我希望他们都在Kotlin,但是如果有一些限制,那么尽可能多。 让我们假设我刚刚从Android Studio“新应用程序”模板创建了一个空项目( minSdkVersion 15 ,使用AppCompat)。 我需要采取哪些步骤来将此类项目转换为Gradle Script Kotlin。 我希望这对我(和其他人)来说应该是一个很好的起点,我可以处理转换我自己拥有的任何自定义逻辑。

Dagger2编译问题在kotlin

我正在尝试使用Dagger2学习依赖注入。 我创建了几个自定义范围和限定符。 我创建了一个应用程序组件,我想要注入某些全局依赖关系,并创建了一个基于活动上下文返回某些实例的Activity组件。 现在,当我尝试在活动中注入全局实例时,出现如下错误: e:/home/arifur/source_code/me/myprojects/Learn/studio/Android/kotlin/FirebaseChat/app/build/tmp/kapt3/stubs/debug/com/example/arifur/firebasechatkotlin/dependecies/component/ActivityComponent.java :7:error:com.google.firebase.auth.FirebaseAuth不能提供@ Provide或@ Produces注释的方法。 E: e:public abstract void inject(@ org.jetbrains.annotations.NotNull()e: ^ e:com.google.firebase.auth.FirebaseAuth在e: com.example.arifur.firebasechatkotlin.BaseActivity.firebaseAuth e: com.example.arifur.firebasechatkotlin.MainActivity在e: com.example.arifur.firebasechatkotlin.dependecies.component.ActivityComponent.inject(P0) w:警告:以下选项未被任何处理器识别:'[kapt.kotlin.generated]'w: e:/home/arifur/source_code/me/myprojects/Learn/studio/Android/kotlin/FirebaseChat/app/src/main/java/com/example/arifur/firebasechatkotlin/BaseActivity.kt:(29,9):Unresolved参考:DaggerActivityComponent e:/home/arifur/source_code/me/myprojects/Learn/studio/Android/kotlin/FirebaseChat/app/src/main/java/com/example/arifur/firebasechatkotlin/FirebaseChatApp.kt:(20,13 ):未解决的参考:DaggerFirebaseComponent e:/home/arifur/source_code/me/myprojects/Learn/studio/Android/kotlin/FirebaseChat/app/src/main/java/com/example/arifur/firebasechatkotlin/MainActivity.kt 🙁 1,1):处理注释时发生了一些错误。 请看上面的错误信息。 预选赛 ActivityContext.kt @Qualifier @Retention(AnnotationRetention.RUNTIME) annotation class ActivityContext ApplicationContext.kt @javax.inject.Qualifier @Retention(AnnotationRetention.RUNTIME) annotation class ApplicationContext 领域 ActivityScope.kt @Scope @Retention(AnnotationRetention.SOURCE) annotation class ApplicationScope ApplicationScope.kt @Scope @Retention(AnnotationRetention.SOURCE) annotation class ApplicationScope 组件 […]

Kotlin Android Button.onClickListener导致NoSuchMethodError

我想我已经找到了一个使用kotlin for android的怪癖,或者在我对语法的理解上存在一些空白。 试图为一个按钮设置一个onClickListener是抛出一个NoSuchMethodError 这是错误的代码 button.setOnClickListener(Button.OnClickListener { fun onClick(view: View){ val intent : Intent = Intent(this,DetailActivity::class.java) if(obj is String) { intent.putExtra("Topic", obj) } startActivity(intent) } }) 这里是输出的堆栈跟踪 java.lang.NoSuchMethodError: No static method OnClickListener(Lkotlin/jvm/functions/Function1;)Landroid/view/View$OnClickListener; in class Landroid/widget/Button; or its super classes (declaration of 'android.widget.Button' appears in /system/framework/framework.jar:classes2.dex) 任何人都知道吗?

kotlin lambda表达式作为可选参数

如何在Kotlin语言中将lambda表达式作为可选参数传递 val max = { a: Int, b: Int -> if (a > b) a else b } 我必须通过上面的东西就像可选参数

如何获得Kotlin上的网页内容

我是Kotlin编程的新手,我想获取Google html内容 但我不知道我该怎么做