问题标签 [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.
kotlin - Kotlin 高阶函数(可调用引用)编译器崩溃
所以我在 Kotlin 上搞乱了一些 Android 开发并遇到了编译器错误……如果有人有一些意见,那就太好了。
可调用引用的 Kotlin 示例(在这种情况下通过参数传递函数)正在使我的环境崩溃。对我来说,这绝对是该语言的一个关键特征,如果不让它工作,我就会瘫痪......
我的环境是:
Android Studio 0.3.6
Kotlin plugin 0.6.602
任何见解将不胜感激
并且编译器错误是:
java - Android 动画 Alpha
我有动画:
和ImageView
:
和代码:
所以一开始我有ImageView
alpha 0.2
,最后我想有ImageView
alpha 1
。但它不是那样工作的 - 当动画开始时添加更多 alpha 并且动画以 alpha 结束0.2
我必须改变什么才能使我的图像动画从0.2
up 到1
?
我检查了不同的设置 - 我设置了android:alpha="1.0"
, fromAlpa="1.0"
,toAlpha="0.2"
它像我预期的那样工作 - 从 alpha1
到0.2
. 看起来 alpha fromImageView
乘以动画中的 alpha ...
android - 如何使用 Kotlin 创建自定义视图的构造函数
我正在尝试在我的 Android 项目中使用 Kotlin。我需要创建自定义视图类。每个自定义视图都有两个重要的构造函数:
MyView(Context)
用于在代码中实例化视图,并MyView(Context, AttributeSet)
在从 XML 膨胀布局时由布局膨胀器调用。
对这个问题的回答建议我使用带有默认值或工厂方法的构造函数。但这就是我们所拥有的:
工厂方法:
或者
具有默认值的构造函数:
如何解决这个难题?
更新:似乎我们可以使用View(Context, null)
超类构造函数而不是View(Context)
,所以工厂方法方法似乎是解决方案。但即使那样我也无法让我的代码工作:
或者
arrays - Kotlin 数组中的 indexOf
如何从 Kotlin 数组中获取值的索引?
我现在最好的解决方案是使用:
有没有更好的办法?
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 对象添加重载?)
android - 安装 Kotlin Android 项目失败并显示 INSTALL_FAILED_DEXOPT
尝试使用 Android Studio 运行 Kotlin Android 项目会成功编译并生成 APK,但是当 Studio 尝试在设备上安装 APK 时,安装失败并显示INSTALL_FAILED_DEXOPT
. 通过 logcat,我可以看到类似于以下内容的消息:
该项目是使用 Kotlin IDEA 插件的自动转换从 Java 转换而来的。没有编译器警告。
nullpointerexception - Java修改kotlin类内容为null
Kotlin 在编译时使用“可空?”的分离进行了出色的空检查。和“不可为空”的对象。它有一个 KAnnotator 来帮助确定来自 Java 的对象是否为 nullabale。但是,如果不可为空的类的某些部分被更改了怎么办?
假设我们有一只猫,它当然有一个可以喵喵叫的头。当我们让猫喵喵叫时,它会用头喵喵叫:
现在让我们在这张漂亮的图片中添加一个 JAVA 猫疯子 (CatManiac.java),他在得到时会砍掉一只猫的头:
所以如果我们把一只猫传给一个疯子,他肯定会砍掉它的头。猫怎么会说没有头的喵?
在调用 cat.mew()时,由于 null,我们在 kotlin 中得到了一个运行时错误:
我相信这是我们在 Kotlin 中使用 Java 库时会遇到的一个非常常见的问题。有什么方法或计划来警告/与之抗争吗?
PS 像 KAnnotator 这样的东西在你的代码中寻找这样的东西吗?
kotlin - 从 Kotlin 中的 Any 显式继承 - 可以以及如何完成?
Kotlin 文档说
Kotlin 中的所有类都有一个共同的超类Any,这是一个没有声明超类型的类的默认超类
如果我尝试从 Any 显式继承:
编译器给出错误:
Kotlin:这种类型有一个构造函数,因此必须在这里初始化
我无法找到 Any 类的文档。是否可以从 Any 显式继承,如果可以,你会传递什么?
function - 如何将空值分配给 Kotlin 中的函数类型变量?
我有一个包含回调的变量,默认情况下它的值应该为空。但是这种语法似乎不起作用。
我目前的解决方案是确保回调具有默认实现。
然而,这使得检查是否设置了回调变得很困难,并且可能默认实现需要付出一些代价(是这样吗?)。如何将空值分配给 Kotlin 中的函数类型变量?
kotlin - 函数中Unit-return的目的是什么
来自 Kotlin 文档:
如果一个函数没有返回任何有用的值,它的返回类型是 Unit。Unit 是一种只有一个值的类型——Unit.VALUE。该值不必显式返回:
函数中返回单位的目的是什么?为什么 VALUE 在那里?这个价值是多少?