android 资源字符串已转换。为什么?

android resource string transformed. why?

pathData.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="goseong">M340.083,66.939l13.334,-7l-8.334,-17.5l-1.333,-4.333l-7.167,-10l1.334,-1.833l-8,-14.167V8.939l-6.5,-8.333l-5.334,2.167L317.75,16.94l-1.167,7.833l-10.166,12.833l2.833,2l2.5,0.833l0.833,0.167l-1,1.833l0.667,4.333l5.5,-1.5l1,3.667l0.833,5.5l4.167,0.333l1,3.833l3.667,1l3.833,-1.833l2.167,2.5v5.5L340.083,66.939z</string>
</resources>

和片段代码

pathData = R.string.goseong.toString()
Log.d("pathData",pathData)
val pathValue: Path = PathParser.createPathFromPathData(pathData)

在日志猫中,

预计:

D/pathData: M340.083,66.939l13.334,-7l-8.334,-17.5l-1.333,-4.333l-7.167,-10l1.334,-1.833l-8,-14.167V8.939l-6.5,-8.333l-5.334,2.167L317.75,16.94l-1.167,7.833l-10.166,12.833l2.833,2l2.5,0.833l0.833,0.167l-1,1.833l0.667,4.333l5.5,-1.5l1,3.667l0.833,5.5l4.167,0.333l1,3.833l3.667,1l3.833,-1.833l2.167,2.5v5.5L340.083,66.939z

但我得到了:

D/pathData: 2131820687

为什么要转换字符串数据?不知道为什么..

它没有转换,您正在获取资源参考。 R.string.goseong.toString()这将始终 return 一个像你一样的整数。

你需要做context.getString(R.string.goseong)

另外,您似乎在字符串中存储了一些 svg 路径数据。我不确定您的用例,但如果您尝试将该路径转换为图像,您可能会从使用矢量绘图中受益。

要从您的字符串文件中获取字符串值,请使用 getString(R.string.goseong)) 而不是仅 R.string.goseong,后者表示位于您的 R 文件中的 goseong id。