Android谈一谈findViewById

这个是android的基础

TextView tv = (TextView) findViewById(R.id.xx);

最近有看到,在api27的AppCompatActivity中,有这样一小段:

 @SuppressWarnings("TypeParameterUnusedInFormals")
    @Override
    public <T extends View> T findViewById(@IdRes int id) {
        return getDelegate().findViewById(id);
    }

这意味着如果你的编译版本>=27且控件为AppCompatActivity子类,则可不用强制转换,上面代码变成:

TextView tv = findViewById(R.id.xx);

或者可以在父类中自定义:

 @Override
    public <T extends View> T findViewById(@IdRes int id) {
        return (T)findViewById(id);
    }

这样可以简化findViewById。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yu_duan_hun/article/details/79961494
个人分类: 归纳整理
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Android谈一谈findViewById

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭