Java 链接TextView的findViewById()时未定义的方法setText()

Java 链接TextView的findViewById()时未定义的方法setText(),java,android,Java,Android,我想知道是否有人能告诉我原因: TextView textblock = (TextView) findViewById(R.id.label).setText("Google is your friend.", TextView.BufferType.EDITABLE); 我得到一个未定义的方法错误(对于这种类型的视图,setText未定义)。但是,当我不使用链条时,该方法有效,例如: TextView textblock = (TextView)findViewById(R.id.labe

我想知道是否有人能告诉我原因:

TextView textblock = (TextView) findViewById(R.id.label).setText("Google is your friend.", TextView.BufferType.EDITABLE);
我得到一个未定义的方法错误(对于这种类型的视图,setText未定义)。但是,当我不使用链条时,该方法有效,例如:

TextView textblock = (TextView)findViewById(R.id.label);
textblock.setText("Google is your friend.", TextView.BufferType.EDITABLE);

(我知道这是一个非常基本的问题,但是我是Java新手,在搜索中找不到任何东西)

由于附加了括号,您需要调用铸造结果的方法:

((TextView) findViewById(R.id.label)).setText("Google is your friend.", TextView.BufferType.EDITABLE);
也就是说,引入变量可以使代码更具可读性。我会那样做


还要注意,
setText()
返回void,而不是TextView。因此,您不能像尝试那样使用
setText()
的结果初始化TextView变量。

由于附加了括号,您需要对已转换的结果调用该方法:

((TextView) findViewById(R.id.label)).setText("Google is your friend.", TextView.BufferType.EDITABLE);
也就是说,引入变量可以使代码更具可读性。我会那样做


还要注意,
setText()
返回void,而不是TextView。因此,您不能像尝试那样使用
setText()
的结果初始化TextView变量。

setText()
属于
void
类型,因此它不返回任何内容,这意味着您无法将其存储在变量中。

setText()
属于
void
类型,因此它不返回任何内容,这意味着您不能存储在变量中。

((TextView)findViewById(R.id.label)).setText(“…”
首先转换为TextView,然后设置Text,看看我的括号感谢解释a.S,这真的很有帮助。
((TextView)findViewById(R.id.label)).setText(“…”首先转换为文本视图,然后设置文本,看看我的括号感谢解释a.S,这真的很有帮助。谢谢你的解释!非常感谢。谢谢你的解释!非常感谢。