我想知道您是否知道如何编写在执行Android OnItemClickListener.onItemClick
方法后执行的AspectJ建议。
我试过after(View view) : execution(void OnItemClickListener+.onItemClick(AdapterView, View, int, long)) && args(view)
,但是AspectJ抱怨“不能使用参数化类型模式来表示执行切入点表达式的类型(改为使用原始类型),”特别是关于执行部分。
如果我将建议更改为execution(void *.onItemClick(AdapterView, View, int, long))
,则不会应用建议。
有什么想法吗?
谢谢, 西尔维乌
答案 0 :(得分:-1)
Aspect4j中对泛型的处理已经引入:
然后,如果您的项目允许,您可以通过升级到最新版本来解决此问题。随着maven,升级到
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
</plugin>
解决了这个问题。
然后,我使用
pointcut OnClickListener_onClick(View v) :
execution(void OnClickListener.onClick(View)) && args(v);
after(View v) : OnClickListener_onClick(v) {
...
}