使用注释处理获取静态FIELD值

时间:2016-03-10 13:56:17

标签: java android annotations apt annotation-processing

这听起来像一个简单的问题,但我无法让它在Android中运行。

我得到的是一个简单的注释字段:

@MyAnnotation
public static final String TEXT = getText();

private static final String getText(){
    return "TEXT";
}

我制作了一个注释处理器来处理@MyAnnotation,但我发现使用注释处理器读取值是不可能的。我也尝试了reflection,但反射仅在运行时可用 ..

我需要基于它的代码生成字段值。

可以使用注释处理读取字段值吗?如果没有,有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:2)

getConstantValue()

方法{{1}}可能会对您有所帮助。

  

如果这是{@code final},则返回此变量的值    字段初始化为编译时常量。

答案 1 :(得分:-1)

最终只能初始化。在这种情况下,您可以遵循此代码。希望它会对你有所帮助。

<div>

  <div id="card">
  </div>

</div>