1

我想知道是否有人可以告诉我为什么:

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

4

2 回答 2

5

由于额外的括号,您需要在转换结果上调用该方法:

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

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

另请注意,setText()返回 void,而不是 TextView。所以你不能用setText()你试图做的结果来初始化一个 TextView 变量。

于 2013-10-29T11:21:03.203 回答
0

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

于 2013-10-29T11:24:55.433 回答