(EditText)
以下代码段中的含义是什么?
EditText editText = (EditText) findViewById(R.id.edit_message);
我知道这是一个 EditText 类的新实例的声明......
但我对这(EditText)
部分感到困惑?这是什么意思 ?
它是一个显式的类转换:返回的通用 View 对象被findViewById()
转换/转换为 EditText 对象。
(EditText) findViewById(R.id.edit_message);
EditText
是一个 android 类,表示应用程序 Ui 上的编辑字段。在当前情况下,您似乎已经在活动的 xml 中定义了一个 edittext 字段,并且您现在获得了对它的引用,以便您可以使用类上的方法以编程方式与其交互。
你可以看到你可以用它做的一切:Android 开发者:EditText
如果您没有将其转换为 an ,则EditText
只能将其作为 View Android Developer 处理: View
该findViewById
方法返回一个View
对象并使其成为它所代表的 EditText 对象,您必须以这种方式进行转换。您实际上想要使用的实例EditText
而不是View
这样您就可以访问特定的属性EditText
EditText editText = findViewById(R.id.edit_message);
上面的代码将无效EditText
并且View
不相同,因此需要对其进行转换/转换。