问题标签 [kotlin]

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 投票
1 回答
448 浏览

kotlin - Kotlin 高阶函数(可调用引用)编译器崩溃

所以我在 Kotlin 上搞乱了一些 Android 开发并遇到了编译器错误……如果有人有一些意见,那就太好了。

可调用引用的 Kotlin 示例(在这种情况下通过参数传递函数)正在使我的环境崩溃。对我来说,这绝对是该语言的一个关键特征,如果不让它工作,我就会瘫痪......

我的环境是:
Android Studio 0.3.6
Kotlin plugin 0.6.602

任何见解将不胜感激

并且编译器错误是:

0 投票
10 回答
113612 浏览

java - Android 动画 Alpha

我有动画:

ImageView

和代码:

所以一开始我有ImageViewalpha 0.2,最后我想有ImageViewalpha 1。但它不是那样工作的 - 当动画开始时添加更多 alpha 并且动画以 alpha 结束0.2

我必须改变什么才能使我的图像动画从0.2up 到1

我检查了不同的设置 - 我设置了android:alpha="1.0", fromAlpa="1.0"toAlpha="0.2"它像我预期的那样工作 - 从 alpha10.2. 看起来 alpha fromImageView乘以动画中的 alpha ...

0 投票
8 回答
49489 浏览

android - 如何使用 Kotlin 创建自定义视图的构造函数

我正在尝试在我的 Android 项目中使用 Kotlin。我需要创建自定义视图类。每个自定义视图都有两个重要的构造函数:

MyView(Context)用于在代码中实例化视图,并MyView(Context, AttributeSet)在从 XML 膨胀布局时由布局膨胀器调用。

这个问题的回答建议我使用带有默认值或工厂方法的构造函数。但这就是我们所拥有的:

工厂方法:

或者

具有默认值的构造函数:

如何解决这个难题?


更新:似乎我们可以使用View(Context, null)超类构造函数而不是View(Context),所以工厂方法方法似乎是解决方案。但即使那样我也无法让我的代码工作:

或者

0 投票
3 回答
15705 浏览

arrays - Kotlin 数组中的 indexOf

如何从 Kotlin 数组中获取值的索引?

我现在最好的解决方案是使用:

有没有更好的办法?

0 投票
2 回答
12130 浏览

kotlin - 如何在 Kotlin 中将字符“添加”到字符串中

我如何在 Kotlin 中添加 aChar到 a String

例如

当尝试在 Char 上调用+(eg plus) 时,没有接受右侧字符串的版本,因此'H' + "ello World"无法编译

第一个解决方法可能已经足够好了,但它对我来说是 Java 中的一种回归:(String test = 'H' + "ello World";编译得很好......)

我也不喜欢最后一种解决方法,至少在java.lang.String我有一个接受单个字符的构造函数中,或者我可以使用java.lang.Character.toString(char c). Kotlin 中是否有一种优雅的方式来做到这一点?

之前是否讨论过这个问题(向plus(str:String)Char 对象添加重载?)

0 投票
2 回答
532 浏览

android - 安装 Kotlin Android 项目失败并显示 INSTALL_FAILED_DEXOPT

尝试使用 Android Studio 运行 Kotlin Android 项目会成功编译并生成 APK,但是当 Studio 尝试在设备上安装 APK 时,安装失败并显示INSTALL_FAILED_DEXOPT. 通过 logcat,我可以看到类似于以下内容的消息:

该项目是使用 Kotlin IDEA 插件的自动转换从 Java 转换而来的。没有编译器警告。

0 投票
1 回答
562 浏览

nullpointerexception - Java修改kotlin类内容为null

Kotlin 在编译时使用“可空?”的分离进行了出色的空检查。和“不可为空”的对象。它有一个 KAnnotator 来帮助确定来自 Java 的对象是否为 nullabale。但是,如果不可为空的类的某些部分被更改了怎么办?

假设我们有一只猫,它当然有一个可以喵喵叫的头。当我们让猫喵喵叫时,它会用头喵喵叫:

现在让我们在这张漂亮的图片中添加一个 JAVA 猫疯子 (CatManiac.java),他在得到时会砍掉一只猫的头:

所以如果我们把一只猫传给一个疯子,他肯定会砍掉它的头。猫怎么会说没有头的喵?

调用 cat.mew()时,由于 null,我们在 kotlin 中得到了一个运行时错误:

我相信这是我们在 Kotlin 中使用 Java 库时会遇到的一个非常常见的问题。有什么方法或计划来警告/与之抗争吗?

PS 像 KAnnotator 这样的东西在你的代码中寻找这样的东西吗?

0 投票
3 回答
2126 浏览

kotlin - 从 Kotlin 中的 Any 显式继承 - 可以以及如何完成?

Kotlin 文档说

Kotlin 中的所有类都有一个共同的超类Any,这是一个没有声明超类型的类的默认超类

如果我尝试从 Any 显式继承:

编译器给出错误:

Kotlin:这种类型有一个构造函数,因此必须在这里初始化

我无法找到 Any 类的文档。是否可以从 Any 显式继承,如果可以,你会传递什么?

0 投票
1 回答
15716 浏览

function - 如何将空值分配给 Kotlin 中的函数类型变量?

我有一个包含回调的变量,默认情况下它的值应该为空。但是这种语法似乎不起作用。

我目前的解决方案是确保回调具有默认实现。

然而,这使得检查是否设置了回调变得很困难,并且可能默认实现需要付出一些代价(是这样吗?)。如何将空值分配给 Kotlin 中的函数类型变量?

0 投票
3 回答
23416 浏览

kotlin - 函数中Unit-return的目的是什么

来自 Kotlin 文档:

如果一个函数没有返回任何有用的值,它的返回类型是 Unit。Unit 是一种只有一个值的类型——Unit.VALUE。该值不必显式返回:

函数中返回单位的目的是什么?为什么 VALUE 在那里?这个价值是多少?