0
  • @Override
    public boolean process(Set<? extends TypeElement> set, RoundEnvironment roundEnvironment) {
    
    //ActivityBinding这个注解作用域:@Retention(RetentionPolicy.CLASS)
     
        try {
            Set<? extends Element> elements = 
    roundEnvironment.getElementsAnnotatedWith(ActivityBinding.class);
            for (Element element : elements) {
                if (element.getKind() != ElementKind.CLASS) {
                    continue;
                }
                mMessager.printMessage(Diagnostic.Kind.NOTE, "===element: " + element);
                //扫描全部被注解的class           
    
               createMvpHelperClass((TypeElement) element);
            }
        } catch (Exception e) {
            e.printStackTrace();
            mMessager.printMessage(Diagnostic.Kind.ERROR, "===e: " + e);
        }
        System.out.println("================process end===========================");
        return false;
    }
    


    private void createMvpHelperClass(TypeElement typeElement) {
      //在class中查是否存在注解。如果不存在结束
          ActivityBinding annotation = typeElement.getAnnotation(ActivityBinding.class);
          if (annotation == null) {
              return;
          }
    //我的注解里面定义了int值放 布局id,这里取出来
          int layoutId = annotation.layout();
      
          // 获取包名
          String packageName = mElementUtils.getPackageOf(typeElement).getQualifiedName().toString();
          // Java类名,到这里,就是你需要的被注解的java的类名了。方法返回的是全路径,这里进行了截取
          String className = typeElement.getQualifiedName().toString().substring(packageName.length() + 1);
    
      
    
    1139423796017500160  评论     打赏       断点-含光君
    相关问题
    康师傅的小跟班 · JAVA
    2019-09-10 05:09 1294 2
    2020-03-08 05:30 843 2
    吕氏春秋 · java / 多线程并发
    2020-03-19 03:46 857 4
    不易 · java
    2020-06-06 19:41 461 2
    夙夜星辰叹 · javaweb
    2020-06-24 03:07 457 2
    2020-07-21 06:26 937 2
    CodeWwang · JAVA
    2020-07-22 06:11 438 2