难以理解android中的java代码

时间:2012-11-09 23:10:49

标签: java android

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

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

我知道它是EditText类的新实例的声明......

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

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

EditText是一个android类,表示应用程序的Ui上的编辑字段。在当前情况下,您看起来好像已经在活动的xml中定义了一个edittext字段,现在您正在获取它的引用,以便您可以使用类上的方法以编程方式与它进行交互。

你可以看到你可以用它做的一切:Android Developer: EditText

如果您没有将其投放到EditText,则只能将其作为视图处理Android Developer: View

答案 2 :(得分:2)

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

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

上述代码无效,因为EditTextView不相同,因此需要进行转换/转换。