Tag: android

如何从java类中的kotlin类创建对象?

我创建了一个汽车的kotlin类,我想在java类中创建这个类的对象? 我怎么能这样做? 提前致谢

Android – Kotlin – 匕首 – 没有这样的方法例外

今天,我在新的Android Studio Canary(测试版)中创建了项目。 我试图添加匕首2框架,但我有一些麻烦这样做。 首先我添加一些依赖项: compile 'com.google.dagger:dagger:2.11' kapt 'com.google.dagger:dagger-compiler:2.11' provided 'org.glassfish:javax.annotation:10.0-b28' apply plugin: 'kotlin-kapt' (top of file) 而只是为了我的测试需要等我创建了类: class TempClass {} 接下来我做了一些示例模块 @Module class TempClassModule { @Singleton @Provides fun provideTempClass() : TempClass = TempClass() } 和组件: @Component (modules = arrayOf(TempClassModule::class)) interface TempClassComponent { fun inject(mainActivity: MainActivity) } 我的应用程序类: class MyApp : Application() { companion object […]

Dagger2 + MVP上Kotlin

我正在学习Dagger2 + MVP并在Kotlin上做。 而且我在理解Dagger2或者MVP或者那里有一个问题。 构建一个应用程序和想法应该如何工作是非常简单的。 该应用程序由左侧导航MenuActivity和几个Fragments (比方说3),应该在activity_menu.xml的FrameLayout中进行更改。 我已经读了几篇文章,花了几天时间学习Dagger2。 本文我作为教程来构建我的示例: https : //proandroiddev.com/dagger-2-part-ii-custom-scopes-component-dependencies-subcomponents-697c1fa1cfc 在我的想法中,Dagger架构应该由三个@Component组成:(1)AppComponent,(2)MenuActivityComponent和(3)AccountFragmentComponent。 从我的理解和文章中的建筑图片我的架构可以是这样的:(3)取决于 – >(2)取决于 – >(1) 每个@Component具有@Module :(1)AppModule,(2)MenuActivityModule和(3)AccountFragmentModule。 (2)MenuActivityModule和(3)AccountFragmentModule应该@Provide Presenter从MVP意识形态的Presenter是@Inject在MenuActivity和其他Fragment ,如AccountFragment 。 的AppModule @Module class AppModule(val app : App){ @Provides @Singleton fun provideApp() = app } AppComponent @Singleton @Component(modules = arrayOf(AppModule::class)) interface AppComponent{ fun inject(app : App) fun plus(menuActivityModule: MenuActivityModule): MenuActivityComponent } MenuActivityModule […]

Kotlin初始化一个对象

我有一个基类,我正在扩展,但想膨胀一个普通的Java构造函数将视图。 class TextView(context: Context?) : ViewAbstractClass(context) 我不知道如何在Kotlin做到这一点。 Kotlin有什么构造可以让你对对象进行复杂的初始化?

kotlin对象的空构造函数使用Firebase

我试图从Kotlin保存在Firebase数据库内的对象,我不觉得正确的提供一个默认的空构造函数,并把值为nullable ,不得不改变我所有的代码BC这一点。 我的课: class Video(var id: String, var url: String, var owner: User) : { constructor() : this("", "", User("", "", "")) } Firebase推送: FirebaseDatabase.getInstance().reference.child("public").push().setValue(video) 错误: 缺少一个没有参数的构造函数 有没有更好的解决方案呢?

如何为Kotlin和Gradle设置“sourceCompatibility”?

我得到Android应用程序的java.lang.NoClassDefFoundError 。 我设法将问题隔离到对List :: replaceAll的调用。 问题是这个方法是针对Java 8的,而在某些设备上是不可用的,Kotlin / Gradle正在成功编译它。 类似的问题: java.lang.NoClassDefFoundError $$ infor $ forEach $ lambda $ 1 Kotlin 我的问题是。 有没有办法给我一个编译错误的任何时候我在我的项目中使用Java 8 SDK? 我试过像下面那样手动设置Java 1.7,但是Java 8的代码编译成功。 tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { sourceCompatibility = JavaVersion.VERSION_1_7 // Is it even relevant here? targetCompatibility = JavaVersion.VERSION_1_7 kotlinOptions { jvmTarget = "1.6" } } 同样重要的是,代码不在Android模块中。 按照预期,我的Android模块不允许使用该方法。

将lambda存储在kotlin的变量中

我正在用kotlin开始在Android上开发,并且在lambdas中遇到问题。 我有一个函数来设置一个监听器在我看来,这看起来像这样: fun setListener(listener: () -> Unit) { } 问题是,作为lambda函数传递的代码将不会在setListener函数中执行,它将在我的代码的另一部分执行(特别是当一个微调项目被选中),所以我必须“保存”或“存储”这个lambda变成一个变量/属性,以便我能够在需要时执行它。 任何想法如何做到这一点? 编辑:我已经做到了: private var listener: (() -> Unit)? = null fun setListener(listener: () -> Unit) { this.listener = listener } 有没有更好的方法来做到这一点? 谢谢

在根项目中找不到Android Kotlin Task调试

Evertime我做了一个新的项目,在第一次同步我得到这个错误: Executing tasks: [:app:generateReleaseSources, :app:prepareReleaseUnitTestDependencies, :app:mockableAndroidJar] Incremental java compilation is an incubating feature. FAILURE: Build failed with an exception. * What went wrong: Task 'debug' not found in root project 'MyLolChat'. * Try: Run gradle tasks to get a list of available tasks. Run with –info or –debug option to get more log output. * […]

java.lang.NoClassDefFoundError $$ intern $ forEach $ lambda $ 1在Kotlin中

我目前正在使用Kotlin 1.1.1版本开发Android应用程序 在我的代码中,我为了读取几个MutableList和MutableMap而MutableMap了几个forEach结构。 不幸的是,我的应用程序崩溃与以下stacktrace: java.lang.NoClassDefFoundError:com.package.fragment.ReminderAddFragment $ onRetrieveBusinessObjects $$内联$ forEach $ lambda $ 1 com.package.fragment.ReminderAddFragment.onRetrieveBusinessObjects(ReminderAddFragment.kt:275)在com.smartnsoft.droid4me.app.Droid4mizer .onRetrieveBusinessObjects(Droid4mizer.java:552)at com.smartnsoft.droid4me.app.Droid4mizer.onRetrieveBusinessObjectsInternal(Droid4mizer.java:606)at com.smartnsoft.droid4me.app.Droid4mizer.access $ 000(Droid4mizer.java:46)at com .smartnsoft.droid4me.app.Droid4mizer $ 1.run(Droid4mizer.java:197)at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:423)at java.util.concurrent.FutureTask.run(FutureTask。 java:237)在java.util。线程。的.java:818) 这里的代码 tutorialCategories.forEach { (_, _, _, _, _, tutorials) -> tutorials.forEach { tutorial -> if (tutorial.id == simpleReminderFromExtra.tutorialId) { //… val mapOfreminders = mutableMapOf<Int, MutableList<Reminder>>() val reminders […]

如何在android kotlin的适配器中调用片段

我正面临着如何从kotlin中的适配器中调用片段的问题。 请解决我的问题,而不使用活动上下文。 我正面临着如何从kotlin中的适配器中调用片段的问题。 请解决我的问题,而不使用活动上下文。 import android.app.FragmentManager import android.content.Context import android.support.v7.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView import com.bumptech.glide.Glide import com.tk.amp.foodieflavours.Adapters.DashBoardAdapter.ViewHolder import com.tk.amp.foodieflavours.Fragments.FragmentOneList import com.tk.amp.foodieflavours.ModelClass.DashBoardModel import com.tk.amp.foodieflavours.R class DashBoardAdapter (var context: Context,var arrayList: ArrayList<DashBoardModel>) : RecyclerView.Adapter<ViewHolder>(){ override fun onBindViewHolder(holder: ViewHolder?, position: Int) { var dashBoardModel = arrayList.get(position) holder?.textView?.setText(dashBoardModel.title) Glide.with(context).load(dashBoardModel.images).into(holder?.imageView) holder?.itemView?.setOnClickListener { if […]