如何注释我的方法以在 Android 中返回 Visibility 类型 int? [复制]
Posted
技术标签:
【中文标题】如何注释我的方法以在 Android 中返回 Visibility 类型 int? [复制]【英文标题】:How can I annotate my method to return a Visibility type int in Android? [duplicate] 【发布时间】:2015-07-28 08:04:11 【问题描述】:当我返回一个常规 int 并尝试将该 int 用作 Visibility-annotated int 的输入参数时,android 工作室会抱怨。如何注释我的方法以使 AS 不会产生此警告?我看到 View 有一个公共的@interface“可见性”,但出于某种奇怪的原因,即使它是公共的,我也无法从我的项目中引用 android.view.View.Visibility
。为什么?
我的方法:
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;
【问题讨论】:
【参考方案1】:但由于某些奇怪的原因,我无法从我的项目中引用 android.view.View.Visibility,即使它是公开的。
查看源代码,你会看到这个注解是用@hide
标签“注解”的:
/** @hide */
@IntDef(VISIBLE, INVISIBLE, GONE)
@Retention(RetentionPolicy.SOURCE)
public @interface Visibility
@hide
标记用于从android.jar
文件中排除带注释的包/类/方法/等,因此在编译时不可用。我怀疑您是否可以在代码中以某种方式使用相同的注释,除非 Google 工程师从源代码中删除 @hide
标记。
您可以使用 //noinspection ResourceType
评论来取消此警告。
【讨论】:
哇...在 Google 中模糊了代码和 cmets 之间的界限。感谢您的提醒。 PS:我必须写@SuppressWarnings("ResourceType")
才能让它工作。 PPS:啊,另一个是内联的。
为什么那个注释竟然被隐藏了?以上是关于如何注释我的方法以在 Android 中返回 Visibility 类型 int? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何从 vimeo 帐户检索视频源以在 exoplayer android 中播放?
即使在离线时如何缓存网页以在我的 android 应用程序中使用