首页 > 解决方案 > 你如何在 Kotlin 中注释 Pair 参数?

问题描述

我想Pair<Int, Int>用作返回类型,其中一个 Int 用@StringRes.

Pair<@param:StringRes Int, Int>给出弃用警告。

标签: androidkotlin

解决方案


你不能。问题是 Android@StringRes不适用于目标TYPE_USE(或TYPEKotlin)。

如果它是这样定义的(java),它将起作用:

@Retention(SOURCE)
@Target({METHOD, PARAMETER, FIELD, TYPE_USE})
public @interface StringRes {
}

现在它可以工作了:

fun fooIt(p: Pair<@StringRes Int, Foo>) {}

有一个未解决的问题:https ://issuetracker.google.com/issues/109714923

但是,尽管有弃用警告,您的解决方案可能确实有效。我没有测试过。


推荐阅读