Tag: kotlin extension

Kotlin:创建扩展函数文件?加

我正在Kotlin开发一些库,我没有find这个解决方案, 我怎么能解决这个问题, 这是说,创建扩展functionFile?.plus ,在Java中它的工作正常,但在Kotlin如何写这个代码? 先谢谢你。

Android工作室插件ID:’kotlin-android-extensions’

我正在使用gradle,并且正在尝试将kotlin添加到我的项目中。 但是当我试图为gradle添加“kotlin-android-extensions”插件时,它无法find它。

kotlin是function性的还是程序性的?

除了面向对象之外,它可以支持程序和函数式编程风格吗? 我想开发一个使用Android Studio的Android应用程序,这样我就可以探索kotlin提供的各种编程风格,这将真正帮助我探索这种新的语言。 感谢您抽出宝贵的时间阅读/回答这个问题,对不起,如果我听起来noob,因为我是一个编程世界的初学者!

Kotlin的@Parcelize在writeToParcel()上抛出NPE

我有这个数据类的集合,都在同一个文件中: @Parcelize data class Response(val RecordView: RecordView):Parcelable @Parcelize data class RecordView(val Records: List):Parcelable @Parcelize data class Gid(val Value: String):Parcelable @Parcelize data class Features(val Fields: List, val FeatureName: String, val Title: String):Parcelable @Parcelize data class Fields(val Label: String, val Value: String, val FieldName: String, val Features: List):Parcelable @Parcelize data class Records(val Gid: Gid, val ImageIds: List, […]

检查我的活动是否在MultiWindowMode或不使用Kotlin

如何检查我的活动是否在MultiWindowMode中 。 我已经使用Myactivity.isInMultiWindowMode()和MYactivity.isInPictureInPictureMode() ,但显示错误 由于MultiWindow无法识别,是否需要扩展? 关于多窗口,我已经经历了其他的职位,但没有希望

Kotlin:如何在事务类的上下文中运行服务方法?

我想在服务方法中定义数据库调用,但要在Transaction类的上下文中执行它们,而不在服务本身中打开连接,以便可以在同一个事务中包含多个服务调用。 我正在寻找这样的东西,但不能完全弄清楚。 class Transaction { init { /** Grab connection **/ } fun doSelect() { … } } class UserService { fun Transaction.getUser() { return doSelect() } } fun main (args: Array) { Transaction() { UserService().getUser() // INVALID … } } 有没有办法做到这一点? 我知道我可以像这样传递一个事务实例给服务: class UserService(tx: Transaction) { fun getUser() { with(tx) { doSelect() } } […]

Kotlin:如何用扩展函数扩展enum类

我想用下面的函数扩展types为String枚举类,但无法在调用站点使用它,如下所示: fun <T: Enum> Class.join(skipFirst: Int = 0, skipLast: Int = 0): String { return this.enumConstants .drop(skipFirst) .dropLast(skipLast) .map { e -> e.name } .joinToString() } MyStringEnum.join(1, 1); 我在这里做错了什么?

Android Studio 3无法建立kotlin片段

我试图使用Android Studio 3.0与我现有的项目Kotlin。 我用kotlin创建了一个片段。 我试图在我的Java活动中使用kotlin片段。 但每次我尝试运行它,我都会得到 Error:(209, 5) error: cannot find symbol class BlankFragment BlankFragment.kt import android.content.Context import android.net.Uri import android.os.Bundle import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup class BlankFragment : Fragment() { // TODO: Rename and change types of parameters private var mParam1: String? = null private var mParam2: String? = null private […]

点击一个文本视图来改变片段

我正在尝试使用Kotlin构建我的第一个Android应用程序,但是我陷入了一个非常简单的情况。 我正在使用Kotlin android扩展,我得到一个空指针exception。 用这个我用了 tvGoToRegisterFrag.setOnClickListener { goToRegister() } 我知道我可以使用 tvGoToRegisterFrag?.setOnClickListener { goToRegister() } 为了摆脱崩溃,但我仍然不知道为什么该对象是空的,单击时不做任何事情。 所有这些都是在片段中完成的,如果这改变了任何东西。

需要Kotlin函数什么都不是,而是定义为一个不同的types

我像这样定义了一个类 abstract class MvpViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) where P : BasePresenter { protected var presenter: P? = null fun bindPresenter(presenter: P): Unit { this.presenter = presenter presenter.bindView(itemView) } } presenter.bindView(itemView)给我一个错误,说明Type mismatch, required: Nothing, found: View! 。 我已经在presenter类中定义了bindView ,就像这样 abstract class BasePresenter { var view: WeakReference? = null var model: M? = null fun bindView(view: V) […]