我正在尝试将整数数组与我独特的imageviews标签进行比较。
使用这一行:
if(grid[i][j] == buttons[k].getTag()){
我知道我在正确的轨道上,但我无法弄清楚我是否需要投射或使用方法。我知道这是一个简单的问题,但是非常感谢任何帮助,谢谢。
答案 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);