有沒有什麼辦法將字符串與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()',但其不清楚你的問題 –