- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有这个代码示例:
class MeasureTextView: TextView {
constructor(context: Context?) : super(context)
constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes)
companion object{
val UNIT_NONE = -1
val UNIT_KG = 1
val UNIT_LB = 0
}
fun setMeasureText(number: Float, unitType: Int){
val suffix = when(unitType){
UNIT_NONE -> {
EMPTY_STRING
}
UNIT_KG -> {
KG_SUFIX
}
UNIT_LB -> {
LB_SUFIX
}
else -> throw IllegalArgumentException("Wrong unitType passed to formatter: MeasureTextView.setMeasureText")
}
// set the final text
text = "$number $suffix"
}
}
我希望能够在编译时结合 IntDef 注释使用自动完成功能,所以当我调用 setMeasureText(...)
时,静态变量显示为该方法参数的选项。
我对此进行了搜索,但找不到 Kotlin 是否支持这种 java 风格的注释(例如 intdef)。所以我已经尝试过了,并为此做了注释,但它不会在自动完成中显示。
我的问题:- Kotlin 是否支持 Java 注解 IntDef(最新版本)
如果是,我如何在 Android Studio IDE 中打开(如果有效,我无法让编译器给出建议)。
如果不是,是否有任何 Kotlin 方式进行编译时检查
最佳答案
奇怪的事情,但这个问题在搜索之前与 right answer 相同
复制到这里:
import android.support.annotation.IntDef
public class Test {
companion object {
@IntDef(SLOW, NORMAL, FAST)
@Retention(AnnotationRetention.SOURCE)
annotation class Speed
const val SLOW = 0
const val NORMAL = 1
const val FAST = 2
}
@Speed
private var speed: Int=SLOW
public fun setSpeed(@Speed speed: Int) {
this.speed = speed
}
}
关于annotations - Kotlin 注释 IntDef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37833395/
我不清楚如何使用 @Intdef 将它设为这样的标志: @IntDef( flag = true value = {NAVIGATION_MODE_STANDARD, NAVIGATION_M
https://developer.android.com/reference/android/support/annotation/IntDef.html 我正在寻找一个如何定义局部变量的示例。 我
我正在尝试使用 android.content.pm.ActivityInfo 中的 @ScreenOrientation。它的声明: @IntDef({ SCREEN_ORIENTA
我正在尝试用 IntDef 注释替换源代码中的一些枚举。我一直在关注this文档。 我有一个用于保存 ViewMode 的变量,该变量以前是一个枚举。现在我已将其更改为如下所示。 @Retention
关于通过 Intent 发送 IntDef 的最佳方式有什么想法吗? ps: 如果你简单地将它作为一个 int 发送,你就失去了类型检查,这是使用 intdef 的主要目标 最佳答案 您的 IntDe
我有这个代码示例: class MeasureTextView: TextView { constructor(context: Context?) : super(context)
在Android中,建议开发者不要使用enum。 Android 不支持 enum,而是支持一些注释,例如 @IntDef。 我试过这个注解是一个简单的项目。我的代码如下所示: @IntDef({AP
如何使用@IntDef 避免参数化枚举。 我想保留一些与每个枚举/类型关联的静态细节(例如关联的 URl 、关联的可绘制对象等)。 TYPE_ONE(R.string.res, Urls.URL1),
以下面的例子为例。 错误信息 Must be one of: DownloadRequest.STATUS_UNKNOWN, DownloadRequest.STATUS_DOWNLOADING, D
这样的一种情况是从 Bundle 中读取一个 int 并将其存储到受 @IndDef 注释限制的变量中: public class MainActivity extends ActionBarActi
我正在研究如何更新一些现有代码以使用新的 Android LiveData 架构模式。希望代码示例是不言自明的,我正在努力让 @IntDef/@Interface 处理实时数据。我很高兴在 ViewM
我想要一个只接受 2 个值的函数,比如说一个和两个。我可以为它使用枚举,但对于 Android,使用常量 (@IntRef) 被认为更好。 所以我这样做了: @Retention(RetentionP
我的库中有以下代码: @Documented @IntDef({OpacityAnimationType.NONE, OpacityAnimationType.BLINKING,
我知道将常量与枚举进行比较时,常量占用更少的空间并且可以是原始的。我在研究@Intdef annotation在 android 中,有人可以告诉我使用 @Intdef 还是使用枚举更好的存储。现在是
使用 Android Studio 构建 Android 版本的 React Native 应用。我刚收到 'error: cannot find symbol class IntDef' 在以下代码
将 JacksonAnnotations 与 Android 支持注释一起使用。我的 POJO 是: @JsonIgnoreProperties(ignoreUnknown = true) publi
考虑这个类: public class MyClassOfMystery { public static final int NO_FLAGS = ~0; public static
我正在尝试在Android开发中实现@IntDef注解。 第一种方法:在 Constant.java 类中分隔的定义看起来很棒: public class Constant { @IntDef(
my Android Studio screenshot Android Studio 构建失败并显示消息:找不到符号“@IntDef”,但是 IDE 中显示的 java 代码没有显示错误,正如您在链
这是我的代码: 常量.kt package sample.com.sample_app object Const { const val NAVIGATION_MODE_STANDARD =
我是一名优秀的程序员,十分优秀!