美文网首页
Android-注解

Android-注解

作者: cao苗子 | 来源:发表于2019-10-21 11:25 被阅读0次

1.解释:

注解只是一个标识(标记),没有具体的功能代码。

package com.miaozi.android_day03;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * created by panshimu
 * on 2019/10/9
 * @interface 代表注解
 */

@Target(ElementType.FIELD)// 代表放在哪里 FIELD代表属性 METHOD方法 TYPE类
@Retention(RetentionPolicy.RUNTIME)//什么时候起作用 RUNTIME运行时 CLASS编译时 SOURCE编程时
public @interface ViewById {
    int value();//代表参数 多个参数放数组也行
}

2.通过注解和反射实现findViewById

package com.miaozi.android_day03;

import android.app.Activity;
import android.view.View;

import java.lang.reflect.Field;

/**
 * created by panshimu
 * on 2019/10/9
 */
public class ViewUtil {
    public static void inject(Activity activity){
        //获取所有的属性
        Field[] declaredFields = activity.getClass().getDeclaredFields();
        //过滤关于ViewById的属性
        for(Field field : declaredFields){
            ViewById annotation = field.getAnnotation(ViewById.class);
            if(annotation!=null){
                //执行findViewById
                View viewById = activity.findViewById(annotation.value());
                //反射注入
                field.setAccessible(true);
                try {
                    field.set(activity,viewById);
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

使用:

    @ViewById(R.id.tv)
    private TextView tv;

相关文章

  • Android-自定义注解-反射基础

    Let’s go 上一章Android-自定义注解-注解基础-自定义注解我们基本上入门了这个注解的基本的东西,具体...

  • Android-注解

    java注解在 Android 中有两种应用方式,一种方式是基于反射的,在程序的运行期间获取类信息进行反射调用;另...

  • Android-注解

    1.解释: 注解只是一个标识(标记),没有具体的功能代码。 2.通过注解和反射实现findViewById 使用:

  • Android-自定义注解-注解基础-元注解

    乱七八糟的准备一下 学习这个之前,以前很多时候都是搜视频,博客啥的。现在我们尽量从官方文档入手,再配合一些别的进行...

  • Android-自定义注解-控件注解

    Give morning to myself 之前我们说了下反射的一些基础知识,基本已经可以来做一些简单的事情了。...

  • Android Studio 视图结构

    1、Tools->Android->Layout Inspector2、Tools->Android->Andro...

  • 日更(十六)-Android-注解

    瞎扯 记得刚学java的时候,看过注解,但完全不明白是啥玩意.弄不明白后来写android.经常看到,直到有次用a...

  • Android-注解处理器

    大家可能都用过Butterknife,今天就从0到1写一个Butterknife,首先通过反射的方式实现,接着再改...

  • Android-自定义注解-注解基础-自定义注解

    有点懵懵的 关于如何自定义interface,本来是想去找@interface的用法的定义,我去api文档里面没有...

  • Android-自定义注解-前言

    前言 开始之前磊神先吹一波牛逼。好久没有更新文章了,从北京回来后找了一个做Android系统的公司,这个公司我就不...

网友评论

      本文标题:Android-注解

      本文链接:https://www.haomeiwen.com/subject/hlnwpctx.html