无法将int传递给setMessage(String)方法

时间:2013-08-28 19:35:05

标签: java android

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

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,但这是我在网站上看到的方式

2 个答案:

答案 0 :(得分:3)

int是一个resourceID。你必须得到ID代表的字符串:

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

答案 1 :(得分:1)

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

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

Context myContext = getApplicationContext();
this.message.setMessage(myContext.getString(R.string.game_over));