问题标签 [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 投票
2 回答
4045 浏览

inheritance - 错误或功能:Kotlin 允许在继承中将 'val' 更改为 'var'

我刚开始探索 Kotlin 语言。我正在为继承、var&val 和副作用而苦苦挣扎。

如果我A用 aval x和覆盖声明一个特征xAImpl则可以将其覆盖为var(参见下面的代码)。令人惊讶的是,即使是 in 的值,in的print()方法A也会受到重新分配的影响。这是错误还是功能?xxA

代码:

我知道如果我明确定义a类型A,则不允许更改x

但正如第一个案例所示,继承可能会导致副作用,这显然不是A. 如何保护值不被继承改变?

0 投票
7 回答
217113 浏览

string-formatting - Kotlin 字符串模板中的格式

Kotlin 有一个出色的功能,称为字符串模板。

但是模板中是否可以有任何格式?例如,我想在kotlin的字符串模板中格式化Double,至少要在小数点分隔符后设置一些数字:

0 投票
22 回答
520752 浏览

java - 不幸的是,MyApp 已停止。我该如何解决这个问题?

我正在开发一个应用程序,每次运行它时,都会收到以下消息:

不幸的是,MyApp 已停止。

我能做些什么来解决这个问题?


关于这个问题 - 显然受到什么是堆栈跟踪的启发,我如何使用它来调试我的应用程序错误?,有很多问题表明他们的应用程序已经崩溃,没有任何进一步的细节。这个问题旨在指导新手 Android 程序员如何尝试自己解决问题,或提出正确的问题。

0 投票
1 回答
513 浏览

opengl - 带有面的 OpenGL 纹理故障

我正在使用 LWJGL 创建一个简单的体素事物作为一些练习,作为一个适度简单的项目来熟悉Kotlin

所以我已经降低了体素渲染,除了渲染每个面具有不同纹理的体素。

看起来不错,直到我开始四处走动......然后: 什么

如果有人需要整个回购,它就在这里

至于相关的类,我不太确定什么是相关的,但这是生成glVertex3f和glTexture2f的东西:

编辑:经过更多测试,我意识到只有当相机位于相关体素上方时才会出现奇怪的故障。我将类似的块放在其他地方,只暴露侧面,从底部看时它们很好:

相机略高于方块(相机越远,问题就会升级):在此处输入图像描述 相机低于方块:在此处输入图像描述

编辑 2:经过更多测试,事实证明问题在于具有不同纹理的任何两种不同类型的块相互作用......所以它可能不是每个人脸的事情,而是人脸互动的事情?我不知道。

编辑 3:我决定尝试查明问题,所以我从我的代码中删除了 glTexCoords2f() 调用。不幸的是,问题仍然存在:在此处输入图像描述

0 投票
1 回答
7921 浏览

bitwise-operators - Kotlin 等价于按位或赋值 '|=' 是什么?

如何用 Kotlin 编写:

只有我发现的是:

bitwise or是否有带赋值的内置运算符?

0 投票
0 回答
98 浏览

android - KAnnotator 在 Android Studio 中工作吗?

我已经在 Android Studio (0.5.8) 中安装了 KAnnotator (0.2.1205)。它生成了注释,但在我看来它们没有被使用,或者我不明白。

有注释:

但是,我仍然必须写:

我必须手动附加注释吗?如果有,在哪里?

0 投票
1 回答
712 浏览

kotlin - Kotlin 零安全性?

让我们有一个函数foo和一个类Bar

现在,让我们来看看代码:

问题是这段代码无法编译。由于它需要Bar(x!!, y!!).

但是,当我用其内容替换该功能时,!!就不需要了。

为什么无法从函数中解决空检查.isNotEmpty()

0 投票
5 回答
4739 浏览

null - kotlin function returning null

I am trying some android development with kotlin. In my case I want to overwrite: ContentProvider where I have to overwrite the function "query". "query" returns "Cursor" type. However, when I create the Cursor instance in the function with database.query I get back a "Cursor?" type. So I can only return Cursor if it is not null, but what do I do if it is null?

This is what it basically looks like:

Any Ideas how to solve that?

Thanks, Sven

UPDATE First of all thanks for the answers.

Annotation seems not to work in my case as I can only access the compiled code and I dont get the option to annotate the source. Maybe I am missing something here.

Implementing my own cursor Seems like overkill especially if I have to do it every time that problem occurs.

So it seems my only option is to return cursor!! But I dont know how exactly to do it. My code is a bit more complicated than in my example, I missed a when statement. This is an updated version:

Do I really have to implement my own cursor and clutter my code with useless "throw UnsupportedExceptions"?

0 投票
1 回答
1210 浏览

android - Android Studio 更新到 0.6 后 Kotlin 出现问题

Android Studio 更新到 0.6 后,Kotlin 项目 gradle 同步失败。

日志包含:

任何提示如何解决它?

编辑:我的构建脚本如下:

更新:我也尝试将 Kotlin 更新到版本 0.7.895,但它没有帮助。

UPDATE2:我找到了相应的问题: http: //youtrack.jetbrains.com/issue/KT-5219

0 投票
2 回答
485 浏览

android - Intellij IDEA 未在 Kotlin 文件中显示有关 android 资源的可用建议

我有一个 Kotlin 文件,我想通过 R.java 文件访问一些 Android 资源。在这种情况下,Intellij IDEA 不会显示可用的建议,有点像R.layout.main

请看这个截图不建议 Kotlin 文件中的 Android 资源

这是 IDEA/Kotlin 插件中的问题还是我必须配置一些东西?