问题标签 [kotlin-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
11400 浏览

android - Android Studio 和 Kotlin:未解决的参考:也

可以从 Android Studio 编译和运行:

然而,编辑器突出显示alsoit作为错误,并没有提供任何有关智能感知的帮助。apply仍然有效,当我查看源代码时,我可以看到 和 的apply定义also。如何让 Android Studio 识别also

  • 安卓工作室 2.3.3
  • kotlin_version = '1.1.3-2'
  • Kotlin 插件 1.1.3-release-Studio2.3-2

我在早期版本中也遇到过这个问题。

0 投票
1 回答
584 浏览

generics - 具有基本类型的 Kotlin 扩展通用函数,没有反射 API

我有一个具有方法的 Java 对象getLonggetBoolean并且getString. 我试图制作一个通用扩展函数,它有一个函数作为最后一个参数。getString本质上包装了可能引发异常的尝试、捕获和调用等。我发现,<reified T>例如调用时设置的getIt<Long>() { // do something with it }需要反射 api 来弄清楚T。我不能做的是检查,也不能做isInstance。有任何想法吗?

以下when不起作用。

因此,除了布尔问题之外,我还希望有一种通用的方式来调用正确类型的 get 通过使用T. 我遇到需要将 kaitlin 反射 jar 添加到类路径中。如果可能的话,我想避免这种情况。

UPDATE1:使用whenwith的第一个答案和响应T::class实际上不起作用。感谢您的想法,它帮助我重新审视。第二个我发现比我想要的更“冗长”,所以我最终得到了这个解决方案。

这看起来像jsonObj.getIt<String>("error") { er = it }这样jsonObj.getIt<String>("error", JSONObject::getString) { err = it }

UPDATE2:这似乎最终是一种更好的方法,至少对我而言,并且避免了使用泛型来实现目标的问题

使用:

0 投票
3 回答
3928 浏览

kotlin - Kotlin - 最终类的扩展

是否可以创建final像 String 这样的类的扩展?就像在swiftextension中一样,可以在 a of中添加其他方法final class

举个例子 - 我想在String扩展中创建一个方法,它会告诉我String密码的有效长度。

注意 - 该示例只是为了了解 的可用性extension,而不是真实场景。

0 投票
1 回答
440 浏览

kotlin - Android Kotlin Extension 超级调用

我是一名 Java Android 开发人员,我正在接近 Kotlin

我定义了以下类:

我定义了以下两个扩展,一个用于通用 RealmObject 类,一个用于特定 Player 类:

我想要的是,如果我调用.store()任何RealmObject对象,RelamObject.store()则将调用扩展名,但如果我调用实例,则将调用的扩展名将.store()是. (暂时没问题)我不想复制粘贴相同的代码,我喜欢少写重用。所以我需要在内部调用泛型PlayerPlayer.store()Player.store()RealmObject.store()

我知道了。我在那里写的代码实际上按预期工作:D

我要问的是(只是因为我只是凭个人直觉写的):

这是好方法吗?!或者有什么更好的方法?

谢谢

0 投票
1 回答
335 浏览

android - 无法将库添加到我的应用程序中?

我正在尝试将库添加到 Kotlin 中,但它没有正确安装。

导入库时出现以下错误,请检查

我正在使用以下项目build.gradle

还有我的模块 build.gradle:

我正在使用滑动菜单库,请检查这个。我需要将此库导入到我的 kotlin 项目中,但出现错误。

0 投票
1 回答
295 浏览

generics - 如何修复 kotlin 中通用扩展方法的签名以解决 kot​​lin 中的“类型推断失败”

我创建了扩展方法:

该方法的主要用途:

这很好用,但是当我尝试不使用变量时:

错误:

如果我在 java 中编写模拟代码,则无需直接指定 View 类型即可使用 View 类的方法。

在科特林有可能吗?也许以某种方式对泛型类型的签名进行一些更改?

0 投票
3 回答
7421 浏览

android - id 为 'kotlin-android-extensions' 的 android studio 插件

我正在使用 gradle,我正在尝试将 kotlin 添加到我的项目中。但是当我试图为 gradle 添加 'kotlin-android-extensions' 插件时,它找不到它。

0 投票
2 回答
437 浏览

android - 如何在同一个 src 文件夹中运行不同的 .kt 文件/类?

我是 kotlin 的新手,我通过安装intellij IDEA开始学习 Kotlin 语言,现在的问题是当我想.kt通过运行按钮运行第二个文件时,它只显示我运行的第一个.kt文件。

图一在这里

图二在这里

一直显示 Run HelloWorld.kt,我想跑Addition.kt

我无法在 kotlin 中运行新的 crated 类,它只显示我在项目中第一次运行的第一类。

0 投票
1 回答
208 浏览

kotlin - Kotlin:扩展函数何时隐藏类默认实现?

我试图弄清楚何时使用相同签名的扩展函数覆盖现有的类函数 - 会生效吗?

这是我的示例代码:

所以:

  • 都有些什么样的规矩?什么时候会被调用?
  • 我怎样才能推翻这个决定?是否可以?
0 投票
3 回答
779 浏览

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

我正在Kotlin中开发一些库,我没有找到这个解决方案,

在此处输入图像描述

我该如何解决这个问题,据说创建扩展函数 File?.plus,在 java 中它工作正常,但在Kotlin中如何编写这段代码?