(EditText)
在以下片段中的含义是什么?
EditText editText = (EditText) findViewById(R.id.edit_message);
我知道这是class Edittext的新实例的声明...
但是我对(EditText)
零件感到困惑吗?这是什么意思?
findViewById
方法返回一个 View
对象,并使其成为代表您必须以这种方式施放的eDittext对象。您实际上想与EditText
的实例一起工作,而不是View
,以便您可以访问EditText
EditText editText = findViewById(R.id.edit_message);
上面的代码无效,因为EditText
和View
不相同,因此需要铸造/转换。
它是一个显式类铸件:findViewById()
返回的通用视图对象是铸造/转换为EditText对象的。
(EditText) findViewById(R.id.edit_message);
EditText
是一个代表应用程序UI上的编辑字段的Android类。在当前情况下,看起来好像您已经在活动的XML中定义了一个EditText字段,并且您现在正在获取对其的引用,以便可以使用类上的方法进行程序进行编程互动。
您可以看到您可以做的一切:Android Developer:EditText
如果您不将其施加到EditText
,则只能将其作为视图Android开发人员处理:View