zoukankan      html  css  js  c++  java
  • Android 代码注解初学者

    1、定义遍历注解类。

    public class BindData {
        /**
         * 绑定Activity
         */
        public static void bind(final Activity activity) {
            Class annotationParent = activity.getClass();
            Field[] fields = annotationParent.getDeclaredFields();
            // 找到类里面所有的方法
            if (fields.length > 0) {
                for (Field field : fields) {
                    try {
                        field.setAccessible(true);
                        if (field.get(activity) != null) {
                            continue;
                        }
                        ViewData bind = field.getAnnotation(ViewData.class);
                        if (bind != null) {
                            Log.e("wade", field.getType().getName());
                            List<String> data = new ArrayList<>();
                            data.add("12341243");
                            data.add("zhansan");
                            field.set(activity, data);
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
    
        }
    
    }

    2、定义需要注解类的名称

    @Retention(RUNTIME)
    @Target(FIELD)
    public @interface ViewData {
    }

    3、在主activity中绑定遍历的类,初始化data数据。

    class MainActivity : AppCompatActivity() {
        @ViewData
        var data: List<String>? = null
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            BindData.bind(this)
            Log.i(javaClass.name, data.toString())
        }
    
    }
  • 相关阅读:
    5.4、获取对象信息
    5.3、继承和多态
    JS基础-组成
    js定时器
    js 原型链,继承,闭包,内存,泄露
    flex 布局
    点击导出table表格
    图片利用 new Image()预加载原理 和懒加载的实现原理
    js控制style样式
    自定义指令的用法
  • 原文地址:https://www.cnblogs.com/blogzhangwei/p/12886713.html
Copyright © 2011-2022 走看看