1

为什么在这句话中会出现编译错误?

this.message.setMessage(R.string.game_over);

错误信息:

The method setMessage(String) in the type Messages is not applicable for the arguments (int)

我想使用字符串文件中存在的 res 中的字符串。我知道 arg 是int,但这是我在网站上阅读的方式

4

2 回答 2

3

int 是一个资源ID。您必须获取 ID 代表的字符串:

this.message.setMessage(getResources().getString(R.string.game_over));
于 2013-08-28T19:36:27.557 回答
1

该方法setMessage期望收到一个String. 但是,您发送的是一个整数。

更具体地说,您正在向它发送整数,它是字符串的资源键。要获得所需的字符串,您需要执行以下操作:

Context myContext = getApplicationContext();
this.message.setMessage(myContext.getString(R.string.game_over));
于 2013-08-28T19:38:06.793 回答