为IntDef字段分配错误值时,Android Studio和Lint不会产生错误 [英] Android Studio and Lint don't generate an error when an IntDef field is assigned a wrong value

查看:245
本文介绍了为IntDef字段分配错误值时,Android Studio和Lint不会产生错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的代码:

Const.kt

package sample.com.sample_app

object Const {

    const val NAVIGATION_MODE_STANDARD = 1
    const val NAVIGATION_MODE_LIST = 2
}

NavigationMode.kt

NavigationMode.kt

package sample.com.sample_app

import android.support.annotation.IntDef

import java.lang.annotation.Retention

import java.lang.annotation.RetentionPolicy.SOURCE

@Retention(SOURCE)
@IntDef(Const.NAVIGATION_MODE_LIST, Const.NAVIGATION_MODE_STANDARD)
annotation class NavigationMode

OtherAct.kt

OtherAct.kt

package sample.com.sample_app

import android.os.Bundle
import android.support.v7.app.AppCompatActivity

class OtherAct : AppCompatActivity() {

    @NavigationMode
    private var a: Int = 12

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        a = 34
    }

}

Android Studio或./gradlew lint

No error or warning from Android Studio or ./gradlew lint

我的环境:

buildToolsVersion "28.0.2"
kotlin_version = '1.2.41'
implementation 'com.android.support:appcompat-v7:27.1.1'

推荐答案

不幸的是,它仅适用于函数的参数,不适用于属性本身

Unfortunately, it works only for function's parameters and not for the property itself

这篇关于为IntDef字段分配错误值时,Android Studio和Lint不会产生错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆