我学习Android和不知道的Java(还),发现在一个示例代码声明:“x =(something)”在java中意味着什么?
TextView mainTextView;
mainTextView = (TextView) findViewById(R.id.main_textview);
所以,问题是(作为标题说):什么是“=(... )“ 意思?
我学习Android和不知道的Java(还),发现在一个示例代码声明:“x =(something)”在java中意味着什么?
TextView mainTextView;
mainTextView = (TextView) findViewById(R.id.main_textview);
所以,问题是(作为标题说):什么是“=(... )“ 意思?
创建objectref为对象的TextView
TextView mainTextView;
findViewById是具有参数和R.id.main_textview返回的值的方法是越来越浇铸到TextView的类型和存储在mainTextView
mainTextView = (TextView) findViewById(R.id.main_textview);
这意味着findViewById方法将XML元素转换为TextView。
不将XML元素转换为TextView。将视图投射到TextView。 findViewById返回一个View对象 –
View是一个XML元素。它在布局文件中声明和访问 – andrewdleach
视图是一个Java对象。 Android使用XML来定义布局和其他项目的值。尽管XML不是一种Java对象。 – dharms
的方法findViewById
有以下签名:
public View findViewById (int id)
这意味着它返回一个通用的非指定的View
。
因为你的代码显然需要有更具体的(类层次的意思)TextView
工作,它是由findViewById
返回值之前预先考虑(TextView)
类型强制转换到TextView
。
虽然它是一种常见的做法,这是一种危险的,因为它假定通过findViewById
返回的值是在这种情况下,类型TextView
的。如果不是,您将得到一个运行时异常ClassCastException
这是一个赋值语句,它是Java中最基本的结构之一。我建议在尝试编写Android应用程序之前至少学习Java语言的基础知识。 –
将一种类型投射到其他类型 – Andrew