将视图标记与整数进行比较

时间:2012-05-18 22:21:22

标签: android tags integer compare

我正在尝试将整数数组与我独特的imageviews标签进行比较。

使用这一行:

if(grid[i][j] == buttons[k].getTag()){

我知道我在正确的轨道上,但我无法弄清楚我是否需​​要投射或使用方法。我知道这是一个简单的问题,但是非常感谢任何帮助,谢谢。

4 个答案:

答案 0 :(得分:22)

标签是一个对象,所以放一个Integer

/*
 * UseValueOf
 * ----------
 * Priority: 4 / 10
 * Severity: Warning
 * Category: Performance
 * 
 * You should not call the constructor for wrapper classes directly, such as`new
 * Integer(42)`. Instead, call the valueOf factory method, such as
 * Integer.valueOf(42). This will typically use less memory because common
 * integers such as 0 and 1 will share a single instance.
 */
//MyView.setTag(new Integer(42));
MyView.setTag(Integer.valueOf(42));

然后检索这样的值:

int tagValue = (Integer)MyView.getTag();

答案 1 :(得分:10)

你必须转换整数按钮[k] .getTag()。

这样做:

if(grid[i][j] == Integer.parseInt(buttons[k].getTag().toString())){

答案 2 :(得分:4)

我认为你的标签是字符串而不是整数。

如果是这种情况,请转换你的Integer toString()并检查它是否等于()。

答案 3 :(得分:0)

传入一个整数并获取索引变量。这是代码段

int Index = Integer.parseInt(v.getTag().toString());
System.out.println(Index);