IOC适配View

来源:互联网 发布:直播人气软件 编辑:程序博客网 时间:2024/06/05 22:37
IOC适配View
IOC (Inversion of Control) 控制反转,是一个重要的面向对象编程的法则来削减计算机程序的耦合问题
java注解:用类的反射获取方法和属性
AbIocView类
AndBase中实现IOC的接口
注解:@Target
@Target(ElementType.FIELD)//字段、枚举的常量
@Retention(RetentionPolicy.RUNTIME)// 注解会在class字节码文件中存在,在运行时可以通过反射获取到
public int id();设置对象对应的View的id
public String click() default "";//设置View的单击回调函数
public String longClick() default "";//设置View的长按回调函数
public String itemClick() default "";//设置View的子项点击回调函数
public String itemLongClick() default "";//设置View的子项长按回调函数

使用:在定义变量的时候用@AbIocView传入值和回调函数名

public class IocActivity extends AbActivity {    //使用注解    @AbIocView(id=R.id.btTest, click="btnClick")   private Button btTest;    @AbIocView(id=R.id.btioc1,click="btnClick")    private Button btioc1;    @AbIocView(id=R.id.btioc2,click="btnClick")    private Button btioc2;   @AbIocView(id=R.id.tvShow)   private TextView tvShow;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setAbContentView(R.layout.activity_ioc);    }    public void btnClick(View view){        switch (view.getId()){            case R.id.btTest:                tvShow.setText("你好,Ioc 示例");                break;            case R.id.btioc1:                tvShow.setText("你好,Ioc 测试1");                break;            case R.id.btioc2:                tvShow.setText("你好,Ioc 测试2");                break;        }    }}



原创粉丝点击