Fran Marzoa
5
java
android
keys数组定义如下:
keys = new char[] {resolv, '?', '?', '?', '?', '?', '?',
'?', '?', '?', '?', '?', '?',
'?', '?', '?', '?', '?', '?',
'?', '?', '?', '?', '?', '?',
'?', '?', '?', '?', '?', '?',
'?', '?', '?'};
'resolv'是一个常量char值0x00,但这与此问题无关.
现在,这段代码有时会引发"java.lang.ArrayIndexOutOfBoundsException:length = 34; index = 34"异常:
protected void LoadKeyRects() {
keyRects = new Rect[keys.length];
// Solve key
keyRects[0] = resRect;
// Rest of keys
int x, y;
for (int i=1; i
y = 214 + ( 87 * ((i-1)/11));
x = 7 + (((i-1)%11)*71);
keyRects[i] = new Rect (x, y, x+71, y+87);
}
}
到目前为止,我还没有能够自己重现错误,但我从第三方设备的BugSense获得了足够的报告来关注它.似乎有时keyRects [i]可能会引用keyRects [keys.length]尽管i
有任何想法吗?