懒人的findviewbyid

好久没更,今天分享一个我的代码习惯吧.
当控件很多的时候,找控件这件事是非常繁琐的,
就象这样

private TextView tv;
...
tv = (TextView)findViewbyId(R.id.tv);

一行也很长,虽然有提示,强制转换也可以用快捷方式,但是还是觉得麻烦而且看着不舒服

很久之前对于还没用惯提示的我,对这种常用又很长的代码,比如

findViewbyId(R.id.);
Log.i("tag","");
Toast.makeText(this,"",Toast.SHORT).show();
...
  1. 选择使用输入法的快捷输入功能,比如打ffff就是findViewbyId(R.id.);llll就是Log.i(“tag”,”“);tttt就是Toast.makeText(this,”“,Toast.SHORT).show();具体输入法的功能怎么用请百度.但是之后出现了个问题,就是中英文输入老来回转换也很麻烦;
  2. 就出现了接下来的方法,也是常用的方法,把Log和Toast等等等自己封装在MyUtil里,每个工程都把它放进去,那么findviewbyid呢
  3. 先说一下原理,强制转换是因为找到的控件都是View类,但是定义的变量是控件的类型,但是控件都是继承View的所以我们先建一个BaseActivity类extends Activity
public class BaseActivity extends Activity {
    public <T extends View> T $(int id) {
        return (T) findViewById(id);
    }
}

这里说明一下,$这个符号是java承认的变量名符号
4. 之后让你的所有Activity都继承BaseActivity,然后就变成了这个样子

public class MainActivity extends BaseActivity{
    private TextView tv;
    ...
    tv= = $(R.id.tv);
}

最后说一下用框架映射的方式简化找控件的方式真心不推荐,影响了软件的运行效率.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qi T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值