Недавно я начал использовать библиотеку поддержки Android IntDef/StringDef (аннотации Typedef). Я выполнил документацию в сайте проекта Android Tools и не смог найти там или в любом другом соответствующем учебнике, как я могу использовать аннотации Intped/StringDef typedef с помощью массив генериков. например, если у меня есть следующий фрагмент кода:
public static final String MEDIA_IMAGE = "image";
public static final String MEDIA_TEXT = "text";
public static final String MEDIA_LINK = "link";
public static final String MEDIA_AUDIO = "audio";
public static final String MEDIA_VIDEO = "video";
public static final String MEDIA_VOICE = "voice";
@StringDef ({MEDIA_IMAGE, MEDIA_TEXT, MEDIA_LINK, MEDIA_AUDIO, MEDIA_VIDEO, MEDIA_VOICE})
@Retention(RetentionPolicy.SOURCE)
public @interface Media {}
Я хотел бы сделать что-то подобное этому, используя массив generics и аннотации typedef:
public List<@Media String> getMediaItems() {
...
}
public void setMediaItems(List<@Media String> mediaItems) {
...
}
Однако это кажется невозможным таким образом. Поскольку компилятор говорит:
"Аннотации типа не поддерживаются на этом уровне языка"
Любые предложения?