我正在尝试将整数数组与我唯一制作的图像视图的标签进行比较。
使用这条线:
if(grid[i][j] == buttons[k].getTag()){
我知道我在正确的轨道上,但我不知道我是否需要投射它或使用一种方法。我知道这是一个简单的问题,但任何帮助将不胜感激,谢谢。
标签是一个对象,所以放一个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();
您必须将 button[k].getTag() 转换为整数。
做这个:
if(grid[i][j] == Integer.parseInt(buttons[k].getTag().toString())){
我认为你的标签是一个字符串而不是一个整数。
如果是这种情况,请将您的整数转换为字符串()并检查它是否等于()。
您传入一个整数并获取一个索引变量。这是代码片段
int Index = Integer.parseInt(v.getTag().toString());
System.out.println(Index);