我是Android的新手,我正在使用各种视图进行一些练习。一个这样的例子是:
TextView messageView = (TextView) findViewById(R.id.message);
我的问题是:构建TextView有什么好处?我的IDE告诉我,转换方法是多余的。是否有任何用例需要以这种方式进行投射?
答案 0 :(得分:3)
在API级别26之前,方法findViewById
返回了View
类的引用。所以你需要施展它。
//old signature
public View findViewById(int id){
//
}
但是从API级别26开始,它已经更新,它使用模板返回View
的子类,以便您可以在不进行转换的情况下分配返回的引用。
//new signature
public <T extends View > T findViewById(int id){
//
}
您引用的示例在构建项目时使用了较旧的API级别,因此您可以在那里看到转换。这是强制性的,但现在不是必需的。所以你得到了警告。