2012-04-01 4 views
1

ich mich gefragt, ob Sie eine Idee haben, wie man eine AspectJ Beratung zu schreiben, die nach der Ausführung von OnItemClickListener.onItemClick Methode Android führt.AspectJ Aspekt für OnItemClickListener.onItemClick

Ich versuchte after(View view) : execution(void OnItemClickListener+.onItemClick(AdapterView, View, int, long)) && args(view), aber AspectJ beschwert sich über "kann nicht parametrisierte Typmuster für die deklarierende Art eines Ausführungspunktcut Ausdruck (verwenden Sie stattdessen den unformatierten Typ)" speziell über den Ausführungsteil.

Wenn ich den Rat zu execution(void *.onItemClick(AdapterView, View, int, long)) ändern, dann wird der Rat nicht angewendet.

Irgendwelche Ideen?

Danke, Silviu

+0

die Lösung herausgefunden: 'nach (AdapterView Eltern, Ansicht Ansicht, int a, lange b): Ausführung (void AdapterView.OnItemClickListener + .onItemClick (AdapterView , Aussicht, int, lang)) && args (Eltern, Ansicht, a, b) ' – silviu

Antwort

0

Der Umgang mit Generika in Aspect4j wurde eingeführt:

Dann, wenn Ihr Projekt es erlauben, dieses Problem durch ein Upgrade auf die neueste Version umgehen können. Mit maven, Upgrade auf

<plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>aspectj-maven-plugin</artifactId> 
      <version>1.4</version> 
</plugin> 

löste das Problem.

Dann benutze ich

pointcut OnClickListener_onClick(View v) : 
    execution(void OnClickListener.onClick(View)) && args(v); 

after(View v) : OnClickListener_onClick(v) { 
    ... 
}