我使用自定义注释来记录用户点击的id。但是我收到错误“属性值必须是常量”。我的代码段在下面。
mAssetId= Asset.getContentId();
@TrackEvent("track_event")
@ArrayParams({@Params(key = "content_id",value = mAssetId)})
protected void attributeMethod() {
}
提前致谢。有没有办法在注释中传递动态值而不是静态变量或常量。我正在使用 AspectJ 库来安装android。
答案 0 :(得分:0)
答案 1 :(得分:0)
是的,没错,我找到了一个使用注释记录运行时间值的解决方案。同时我在动画中略微改变以支持这个
@TrackEvent("track_event")
protected void attributeMethod(@Params("id") String value) {
}
就我而言,它有效,希望任何人都可以帮助。
答案 2 :(得分:0)
在aspectj本机语法中,您可以捕获所需的任何运行时变量:
pointcut rtVar(int id): set(* int SomeClass.mAssetId) && args(id) && within(SomeClass);
然后将此id变量转换为joinpoint。