私は Android で AspectJ を使用してView.setOnClickListener()
おり、この側面での呼び出しを正常にキャプチャしています:
public aspect Test {
pointcut callPointcut(View view, OnClickListener listener) : call(void View.setOnClickListener(OnClickListener)) && target(view) && args(listener);
@SuppressAjWarnings // Exported advice
before(View view, OnClickListener listener) : callPointcut(view, listener)
{
Log.d("AspectJ", "Attempt to set onClick listener on view " + Integer.toHexString(view.getId()));
Log.d("AspectJ", "Aspect has executed.");
Log.d("AspectJ", listener.toString());
}
}
android:onClick
残念ながら、これはレイアウト XML で設定されたリスナーをキャプチャしません。これをキャプチャする方法はありますか?