为textView链接findViewById()时未定义的方法setText()

时间:2013-10-29 11:18:46

标签: java android

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

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的新手,在我的搜索中找不到任何内容)

2 个答案:

答案 0 :(得分:5)

您需要在演示结果上调用该方法,这要归功于其他括号:

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

也就是说,引入变量使代码更具可读性。我会这样做。

另请注意,setText()返回void,而不是TextView。所以你不能像你想要的那样初始化一个结果为setText()的TextView变量。

答案 1 :(得分:0)

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