gpt4 book ai didi

android - 创建自定义 Annotation ButterKnife

转载 作者:太空狗 更新时间:2023-10-29 16:02:22 24 4
gpt4 key购买 nike

我正在尝试为 ButterKnife 创建一个自定义监听器注释,但我无法让它工作。这是我的注释:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.CLASS)
@ListenerClass(
targetType = "com.maddogs.mymoney.views.CameraImageView",
setter = "setCameraImageViewListener",
type = "com.maddogs.mymoney.views.CameraImageViewListener",
method = @ListenerMethod(
name = "onCloseClick",
parameters = {"com.maddogs.mymoney.views.CameraImageView"},
returnType = "boolean",
defaultReturn = "true"
)
)
public @interface OnCloseClick {
int[] value() default { View.NO_ID };
}

还有我的 CameraImageView:

 @Override
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction() != MotionEvent.ACTION_DOWN
&&(event.getX(0) <= this.getWidth()
&& event.getY(0) >= 0)
&& event.getX(0) >= this.getWidth() - closeBitmap.getWidth()
&& event.getY(0) <= closeBitmap.getHeight()){

if(listener == null)
throw new NullPointerException("CameraImageViewListener cannot be null");

return listener.onCloseClick(this);
}
return super.onTouchEvent(event);
}

public void setCameraImageViewListener(CameraImageViewListener listener) {
this.listener = listener;
}

public static interface CameraImageViewListener{
boolean onCloseClick(CameraImageView view);
}

我的项目结构:

Structure

监听器始终为空。怎么了??谢谢

最佳答案

您需要将其添加到this listButterKnifeProcessor 中,以便注释处理器将其包含在代码生成中。

我一直在制作原型(prototype),以支持不需要修改库的自定义注释。没有关于何时发货的时间表。

关于android - 创建自定义 Annotation ButterKnife,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27613784/

24 4 0
文章推荐: c# - 如何在 asp.net mvc3 中显示矩阵表?
文章推荐: c - 了解 Cerrno
文章推荐: c - C 中 printf 和 scanf 函数的定义/主体
文章推荐: html - 在 CSS 问题中为