我想比较我的结果(字符串),我正在使用以下代码进行检查。
result = "password";
if (result.equals(R.string.myResponse)) {
//do something
}
R.string文件
<string name="myResponse">password</string>
以上功能无效,无法进入if
部分。
但是,如果我将R.string.myResponse
的实际值替换为if(result.equals("password"))
,那么它工作正常。
使用R.string
答案 0 :(得分:10)
R.string.myResponse不是字符串,而是字符串的ID
。
您需要使用ID
获取字符串。
像context.getString(R.string.myResponse)
这样的内容,或者如果您在某个活动或片段中,那么只需getString(R.string.myResponse)
。
答案 1 :(得分:1)
替换
R.string.myResponse
与
getResources().getString(R.string.myResponse);
答案 2 :(得分:0)
R.string.myResponse
将返回一个整数值,该值是特定字符串资源的ID。您可以使用getString(R.string.myResponse)
来获取为该ID存储的字符串。为安全起见,使用getResources().getString(R.string.myResponse)
作为getString()
有时会返回null。