以下代码段中(EditText)
的含义是什么?
EditText editText = (EditText) findViewById(R.id.edit_message);
我知道它是EditText类的新实例的声明......
但是我对(EditText)
部分感到困惑?这是什么意思?
答案 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);
上述代码无效,因为EditText
和View
不相同,因此需要进行转换/转换。