我的原始文件夹中有201个文本文件命名为level0.txt,level1.txt,level2.txt ........
我想阅读它们但不想编写201行代码
到目前为止,我已经尝试了这个 private void readLevelName() {
for (int i = 0 ; i <= 200 ; i++){
String s = RRaw.substring(0,11)+i;
map[i]= Integer.parseInt(s);
// Log.e(""+i , s);
}
RRaw是我的字符串,包含&#34; R.raw.level&#34 ;, map []是一个int数组
错误是
Caused by: java.lang.NumberFormatException: Invalid int: "R.raw.level0"
伙伴们将不胜感激
答案 0 :(得分:0)
您无法解析类似&#34; R.raw.level0&#34;的字符串。到一个int。
如果要按名称获取原始数据,则应使用getIdentifier()。
您的代码应该是这样的:
private void readLevelName() {
String packageName = getPackageName();
for (int i = 0 ; i <= 200 ; i++){
String s = RRaw.substring(0,11)+i;
map[i]= getResources().getIdentifier(s, "raw", packageName);
}
}