当我返回一个常规的int并尝试将该int用作Visibility-annotated int的输入参数时,Android studio会抱怨.如何对我的方法进行注释,以便AS不会产生此警告?我看到View有一个公共@interface"可见性",但由于一些奇怪的原因,android.view.View.Visibility即使它是公开的,我也无法从我的项目中引用.为什么?
我的方法:
public static int booleanToVisibleOrInvisible(boolean visible) {
return visible ? View.VISIBLE : View.INVISIBLE;
}
Run Code Online (Sandbox Code Playgroud)
我需要的:
@android.view.View.Visibility // <- does not compile
public static int booleanToVisibleOrInvisible(boolean visible) {
return visible ? View.VISIBLE : View.INVISIBLE;
}
Run Code Online (Sandbox Code Playgroud)
aga*_*aga 22
但由于一些奇怪的原因,我不能从我的项目中引用android.view.View.Visibility,即使它是公开的.
看一下源代码,你会看到这个注释是用@hide标签'注释'的:
/** @hide */
@IntDef({VISIBLE, INVISIBLE, GONE})
@Retention(RetentionPolicy.SOURCE)
public @interface Visibility {}
Run Code Online (Sandbox Code Playgroud)
@hidetag用于从android.jar文件中排除带注释的包/类/方法/ etc,因此在编译时它不可用.我怀疑你可以在你的代码中以某种方式使用相同的注释,除非谷歌工程师@hide从源代码中删除标签.
您可以通过//noinspection ResourceType评论来抑制此警告.
| 归档时间: |
|
| 查看次数: |
2919 次 |
| 最近记录: |