Android谈一谈findViewById

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yu_duan_hun/article/details/79961494

这个是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。

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

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试