Java Android跳过代码行
代码如下:Java Android跳过代码行,java,android,Java,Android,代码如下: public Object getItem(int position) { int top, bot, left, right; top = rgnH * position; // line 1 bot = top + rgnH - (position == getCount() - 1 ? 4 : 0); // line 2 left = rgnNbr * rgnW +
public Object getItem(int position) {
int top, bot, left, right;
top = rgnH * position; // line 1
bot = top + rgnH - (position == getCount() - 1 ? 4 : 0); // line 2
left = rgnNbr * rgnW + (rgnNbr != 0 ? BORDER : 0); // line 3
right = (rgnNbr + 1) * rgnW + (rgnNbr == 0 || rgnNbr == maxRgn ? BORDER : 0); // line 4
rect = new Rect(left, top, right, bot);
Bitmap bitmap = bitmapDecoder.decodeRegion(rect, op);
if (inBitmap == null) {
inBitmap = bitmap;
op.inBitmap = inBitmap;
}
return Bitmap.createScaledBitmap(bitmap, finalW, finalH, true);
}
现在,我的问题是,在执行第2行之后,应用程序直接跳到返回行。我甚至试着删除第2行,这样代码就会执行第3行,但是,在执行第3行之后,它会跳转到返回行!请帮忙。谢谢。你确定它跳过了那一行吗?就像您在第2行、第3行和第4行之后插入了一个printStatement,以确保它在那里?另外,为了让它更具可读性,可以在if语句的一行加上括号。我非常确定。我反复检查了很多次代码,甚至清理、重建、重新启动了android studio。这就是为什么我把它贴在这里,因为我现在非常沮丧!顺便说一句:这里发布的代码正是我正在处理的代码。不多不少。你有没有检查你是否错放了断点?如果是这样,请查看行号,您应该会看到一个红色圆圈。您是在观察此行为时单步执行调试器,还是应该计算的值不正确?例如,优化后的代码可能无法在调试器中正常运行。您是否将这些打印语句放在每行之间以查看发生了什么并检查值?这似乎是一个bug。我最好重新构造或更改我的方法名或其他名称。解决这个问题我会掉头发的。