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,这真的很有帮助。谢谢你的解释!非常感谢。谢谢你的解释!非常感谢。