OnItemClickListener.onItemClick的AspectJ方面

时间:2012-04-01 21:34:28

标签: android aspectj

我想知道您是否知道如何编写在执行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)),则不会应用建议。

有什么想法吗?

谢谢, 西尔维乌

1 个答案:

答案 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) {
    ...
}