Android笔记:再见findViewById

在Android开发中,我在xml布局文件里使用了大量的view组件,每一个按钮都用findViewByID()方法实例化对象的话很麻烦,于是就在网上开始查找,大概有以下集中方法:katlin、Java的注解,还有今天要说到的方法。
首先要说的是,findViewById只是查找到对象的引用,不应该叫做控件的实例化,实例化是创建出一个新的对象,findViewById实际上是对View树的遍历查找,当程序中空间数量太多时,findVIewById代码将会很多,很繁琐,所以我们需要方法来简化它。
方法一:定义一个BaseActivity,所有的activity都继承这个BaseActivity,用一个$号来作为findViewById的作用, 美元符号在Java中是合法的方法名。如下图所示:

pubic class BaseActivity extends Activity{
    public <T extend View> T $(int id){
        return (T)findViewById(id);
    }
}

当我们需要获得控件引用时只需要使用一个$符号就好

TextView iv = $(R.id.iv);

这样呢,为我们省去了很多findViewById的代码,而且不用强制转换。
方法二:使用网络上的框架,比如Android Butterknife框架,使用注解来简化findViewById

public class MyActivity extends Activity{
    @InjectView(R.id.button)
    private Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        .....
        ButterKnife.inject(this);
    }
}
}

只要在view上加上@InjectView注解,并在Oncreate里调用ButtonKnife.inject即可。
方法三:就是咱们说的Katiln,Katiln是什么呢?
Kotlin是什么?
  Kotlin是由JetBrains创建的基于JVM的编程语言,IntelliJ正是JetBrains的杰作,而Android Studio是基于IntelliJ修改而来的。Kotlin是一门包含很多函数式编程思想的面向对象编程语言。
Kotlin生来就是为了弥补Java缺失的现代语言的特性,并极大的简化了代码,使得开发者可以编写尽量少的样板代码。
推荐两个博客简单了解一下,
http://blog.csdn.net/cuiran/article/details/50681473
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0226/4000.html
下班^_^

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值