android - 如何注释我的方法以在 Android 中返回 Visibility 类型 int?

标签 android

<分区>

当我返回一个常规 int 并尝试将该 int 用作可见性注释 int 的输入参数时,Android studio 会提示。我如何注释我的方法以使 AS 不产生此警告?我看到 View 有一个公共(public)的@interface“Visibility”,但由于某些奇怪的原因,我无法从我的项目中引用 android.view.View.Visibility,即使它是公共(public)的。为什么?

我的方法:

public static int booleanToVisibleOrInvisible(boolean visible) {
    return visible ? View.VISIBLE :  View.INVISIBLE;
}

我需要什么:

@android.view.View.Visibility  // <- does not compile
public static int booleanToVisibleOrInvisible(boolean visible) {
    return visible ? View.VISIBLE :  View.INVISIBLE;
}

最佳答案

but for some weird reason I can't reference android.view.View.Visibility from my project even if it's public.

查看源代码,您会看到此注释是使用 @hide 标记“注释”的:

/** @hide */
@IntDef({VISIBLE, INVISIBLE, GONE})
@Retention(RetentionPolicy.SOURCE)
public @interface Visibility {}

@hide 标签用于从 android.jar 文件中排除带注释的包/类/方法/等,因此在编译时不可用。我怀疑您能否以某种方式在您的代码中使用相同的注释,除非 Google 工程师从源代码中删除 @hide 标记。
您可以使用 //noinspection ResourceType 注释来抑制此警告。

关于android - 如何注释我的方法以在 Android 中返回 Visibility 类型 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31670632/

相关文章:

java - Android中的ValueAnimator以及如何使其每秒增加一

android - 播放自定义音频格式

Android项目报错! "Conversion to Dalvik format failed with error 1"

android - HAX 正在运行,模拟器在 AVD 和 Android Studio 中以快速 virt 模式运行

Android - 'clickable' 和 'contextClickable' 属性之间的区别?

java - 如何发布使用 GSON 解析大型 json 文件的进度

java - Android:服务不会绑定(bind)

android - 在 android N 中打开 PDF 文件在空白页中显示黑色

android - Android gradle DexException:在多dex模式下不支持库dex文件

android - 错误 : The markup in the document following the root element must be well-formed Please help I am new at android