有没有什么办法将字符串与id(例如:String id = "R.id.id"
)转换为int?android studio如何将字符串与id转换为int?
我已经试过这样:
String st = "R.id.id";
int id = Integer.parseInt(st);
但没有奏效。
感谢您的帮助!
有没有什么办法将字符串与id(例如:String id = "R.id.id"
)转换为int?android studio如何将字符串与id转换为int?
我已经试过这样:
String st = "R.id.id";
int id = Integer.parseInt(st);
但没有奏效。
感谢您的帮助!
你在问什么是完全错误的。
"R.id.id"
是String
表示不能转换为 int。
它总是会抛出一个NumberFormatException
。
检查javadoc:
将字符串参数作为有符号的十进制整数。字符串中的字符必须全部为十进制数字,但第一个字符可能是ASCII减号' - '('\ u002D')以指示负值或ASCII加号'+'('\ u002B')。表示一个正值。返回结果整数值,就像参数和基数10作为parseInt(java.lang.String,int)方法的参数一样。
如果您strings.xml
使用相同id
资源是一个整数,你必须使用somenthing不同:
<resources>
<string name="mystring">12</string>
</resources>
使用此代码检索字符串:
String string = getString(R.string.mystring);
try{
int number = Integer.parseInt(string);
} catch (NumberFormatException nfe){
//.....
}
由非数字值组成的String
不能转换为int
或转换为任何数字数据类型。但是,如果字符串保存数字值,则可以将其转换为int
或其他数字数据类型。而对于它的原因是每一个programming language
有其syntax
定义,如果你想通过指定字符值你可以做
int variableName = 'a';
or
int variableName = 'b';
等。这是Java 'a'
空间数字分配等于97
& 'b'
等于98
。
或者,如果一个字符串持有数值,你可以将它转换为
<resources>
<string name="stringVal">500</string>
</resources>
得到这样
String string = getString(R.string.stringVal);
int anyName= Integer.parseInt(string);
我想你想要的是'Resources.getIdentifier()',但其不清楚你的问题 –