我有android / java转换问题。
我使用onClick来获取我的imageViews上的点击并捕获他们的标签(例如,android:tag =“2”)。之后,我需要将该标记转换为int,以便我可以将其用作数字来进行一些计算。
我试图以这种方式做到:
public void onClick(View v) {
Object viewID = v.getTag();
int id = ((Integer)viewID).intValue();
}
但问题是我的“id”变量中没有得到int值。错误说:
“java.lang.ClassCastException:java.lang.String无法强制转换为 java.lang.Integer中”。
你能否给我一些其他方法将我在“viewID”中的标签转换为int并将其放在“id”中?
我是Android新手,感谢您的帮助:)。
答案 0 :(得分:4)
如果我没有误解你
int id = Integer.parseInt((String)viewID);
答案 1 :(得分:4)
首先转换为字符串然后转换为
int id =Integer.parseInt( viewID .toString() );
答案 2 :(得分:1)
使用Integer.parseInt
方法
public void onClick(View v) {
int id = 0; // some default value
try {
id = Integer.parseInt(v.getTag());
} catch (Exception ignored) { }
}
如果标签不包含数字
,则此代码不会崩溃答案 3 :(得分:1)
public void onClick(View v) {
Object viewID = v.getTag();
int id = -1;
if(viewID != null) {
try {
id = new Integer(viewID.toString()).intValue();
} catch(NumberFormatException nfe) {
// wrong format
}
}
}
答案 4 :(得分:0)
简单使用:
int i = (Integer) viewID ;
或者,从Java 7开始,您可以写:
int i = (int) viewID ;