3

(EditText)以下代码段中的含义是什么?

EditText editText = (EditText) findViewById(R.id.edit_message);

我知道这是一个 EditText 类的新实例的声明......

但我对这(EditText)部分感到困惑?这是什么意思 ?

4

3 回答 3

2

它是一个显式的类转换:返回的通用 View 对象被findViewById()转换/转换为 EditText 对象。

(EditText) findViewById(R.id.edit_message);
于 2012-11-09T23:12:21.183 回答
2

EditText是一个 android 类,表示应用程序 Ui 上的编辑字段。在当前情况下,您似乎已经在活动的 xml 中定义了一个 edittext 字段,并且您现在获得了对它的引用,以便您可以使用类上的方法以编程方式与其交互。

你可以看到你可以用它做的一切:Android 开发者:EditText

如果您没有将其转换为 an ,则EditText只能将其作为 View Android Developer 处理: View

于 2012-11-09T23:14:10.877 回答
2

findViewById方法返回一个View对象并使其成为它所代表的 EditText 对象,您必须以这种方式进行转换。您实际上想要使用的实例EditText而不是View这样您就可以访问特定的属性EditText

EditText editText = findViewById(R.id.edit_message);

上面的代码将无效EditText并且View不相同,因此需要对其进行转换/转换。

于 2012-11-09T23:14:35.143 回答