Tag: 安卓

@Parcelize注释与inheritance

我无法使用@parcelize注释创建通用结构。 我希望构造函数可以用作Jason,Room和Parcelable的构造函数。 让我们假设我们有课 @Parcelize class Food(var taste: String = “”) 现在我首先想到了两个解决方案 1.提示味道必须是var或val,有可用的Parceable构造函数 @Parcelize class FastFood(var callory:String = “”, taste: String): Food(taste) // error 我认为,我必须明确地确定一下这个口味 – 那么多态的好处是什么呢? @Parcelize class FastFood(var callory: String = “”, var taste: String): Food(taste) // error 我怎样才能有效地inheritance与你的图书馆?

butterknife 7.x和Kotlin M14一起工作吗?

我试图用一些Kotlin代码和Java代码来使用Butterknife。 我知道在M12之前,ButterKnife需要注释处理的支持是不好的或者根本不支持。 所以我把我的活动保持在Java中。 至少在Java中使用Butterknife 6.x和preM12 Kotlin。 我现在正在用M13和M14尝试butterknife 7.x。 它应该有注解处理支持,但它不适合我。 bind()函数不会绑定用Java编写的适配器中的任何内容,也不会用Kotlin编写的活动。 我在build.gradle中使用这个(在Github上试过最新版本): apply plugin: ‘com.neenbedankt.android-apt’ dependencies { provided files(‘libs/butterknife-annotations.jar’) kapt files(‘libs/butterknife-compiler-8.0.0-SNAPSHOT.jar’) compile ‘com.jakewharton:butterknife:8.0.0-SNAPSHOT@aar’ } 这不会编译。 我也尝试编译“com.neenbedankt.android-apt”,但绑定不起作用。 我知道那里可能还没有支持butterknife 。 但有没有什么破解得到它的工作?

Firebase请求从未在Android上完成

我目前正在用Android Studio 3(Canary)在Kotlin上构建一个原生的Android应用程序。 我也在使用Firebase实时数据库和Firebase身份validation。 这是我的gradle依赖: 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 ‘com.android.support:appcompat-v7:25.3.1’ compile ‘com.android.support:design:25.3.1’ compile ‘com.android.support.constraint:constraint-layout:1.0.2’ compile ‘com.squareup.picasso:picasso:2.5.2’ compile ‘com.google.firebase:firebase-database:11.0.4’ compile ‘com.google.firebase:firebase-auth:11.0.4’ compile ‘com.dlazaro66.qrcodereaderview:qrcodereaderview:2.0.2’ compile ‘com.android.support:support-v4:25.3.1’ compile ‘com.android.support:recyclerview-v7:25.3.1’ compile ‘com.firebaseui:firebase-ui-database:2.0.1’ testCompile ‘junit:junit:4.12’ compile “org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version” } 一切正常,直到与我的Firebase数据库通信停止完成。 我没有得到任何错误,但是我注册的所有听众都没有被触发。 例如: val ref = FirebaseDatabase.getInstance().reference.child(“message”) ref.setValue(“Test”, object: DatabaseReference.CompletionListener […]

未解决的参考:在Koltin写的活动GlideApp

总之我的问题是我不能在Kotlin编写的活动中使用GlideApp(生成的API)。 有趣的是,Android Studio看到的引用,我可以打开生成的GlideApp,有代码完成,但是当我尝试构建它,然后失败,“未解析的引用:GlideApp” 滑翔模块在java中实现,因为大部分的应用程序是用java编写的。 任何想法?

如何在Kotlin上使用Firebase UI数据库?

val adapter = FirebaseRecyclerAdapter( Discount::class.java, R.layout.fragment_main_day_item, Holder::class.java, FirebaseDatabase.getInstance().getReference() ) { override fun populateViewHolder(holder: Holder, dis: Discount, pos: Int){ } } 文档在这里 我如何使用Kotlin来处理这个问题 编辑 val mAdapter = object : FirebaseRecyclerAdapter( Chat::class.java, R.layout.fragment_main_day_item, ChatHolder::class.java, ref) { public override fun populateViewHolder(holder: ChatHolder, chat: Chat, position: Int) { } } 我把java转换成了kotlin,它可以工作。

android.support.v4.app.FragmentManager不能提供@ Provide或@ Produces注解的方法

所以我对Dagger很陌生,试图通过活动加上独立片段和独立导航来“Kotlin”MVP项目的“daggerify”。 事实上,我使用基于支持lib的Fragment的好几个视图让我尝试最近的匕首Android支持function。 经过一些与构件图构建挣扎后,我遇到了这个错误代表的问题: e: …\MyApp\app\build\tmp\kapt3\stubs\debug\com\…\di\app\MyAppComponent.java:6: error: [dagger.android.AndroidInjector.inject(T)] android.support.v4.app.FragmentManager cannot be provided without an @Provides- or @Produces-annotated method. e: e: public abstract interface MyAppComponent extends dagger.android.AndroidInjector { e: ^ e: android.support.v4.app.FragmentManager is injected at e: myapp.ui.common.BaseActivity.fragmentManager e: myapp.ui.main.MainActivity is injected at e: dagger.android.AndroidInjector.inject(arg0) e: java.lang.IllegalStateException: failed to analyze: org.jetbrains.kotlin.kapt3.diagnostic.KaptError: Error while annotation processing at org.jetbrains.kotlin.analyzer.AnalysisResult.throwIfError(AnalysisResult.kt:57) at […]

Kotlin:以函数的forms传递对象作为参考,并改变它的实例

我无法find如何传递对象的引用,以便我可以让它们指向内存中的新位置。 Kotlin如何做到这一点? 码: class Parent { } class Child : Parent { } class GlobalDataHolder { var globalChildVriable: Child? = null // imagine this is a static variable and can be accessed anywhere } class Activity() { var variable1 = Child() Helper.init(variable1, GlobalDataHolder.globalChildVriable) // inside onCreate() } class Helper { initStuff(variable1: Parent, globalVariable: Parent?) { […]

如何使用界面android在适配器中创建onclick事件?

如何使用界面创建点击事件? 在我的应用程序中,我创建了视图单击界面来检测将适配器项目单击到父活动中。 创建接口和方法到适配器后,如何使用此接口来调用视图侦听器?

科特林 – 等效于斯威夫特的“如果让+投”

我试图找出如何在kotlin中实现“if let + cast”的组合: 在迅速: if let user = getUser() as? User { // user is not nil and is an instance of User } 我看到一些文档,但他们没有说这个组合 https://medium.com/@adinugroho/unwrapping-sort-of-optional-variable-in-kotlin-9bfb640dc709 https://kotlinlang.org/docs/reference/null-safety.html

在kotlin的片段

我卡在我的应用程序,因为我必须做一个片段,在导航抽屉kotlin ..任何人都可以帮忙吗? 我在网上搜索了很多东西,但是我还没有find任何东西…在这里是两个项目,我已经做了主要活动,我希望在片段中也有。 override fun onNavigationItemSelected(item: MenuItem): Boolean { // Handle navigation view item clicks here. when (item.itemId) { R.id.home -> { } R.id.subjects -> { val intent = Intent(this, SubjectsActivity::class.java) startActivity(intent) } } drawer_layout.closeDrawer(GravityCompat.START) return true }