【发布时间】:2015-09-06 12:04:56
【问题描述】:
我正在尝试将类元素添加到绘图视图一侧的数组列表中。不幸的是,添加功能没有添加所需的元素.. 这是我的 DrawView 类。
请查看绘图游戏内部和大小更改功能。
问题似乎是数组列表的大小保持为 0 而不是 2。因此函数显示 IndexOutOfBoundExeption..
public class DrawView extends View {
int i=0;
float flag=0;
float bubrank=2;
ArrayList<bubble1> bub1 ;
Context mContext;
private int width, hieght;
public DrawView(Context context,AttributeSet attrs){
super(context,attrs);
mContext = context;
bub1 = new ArrayList<bubble1>();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
drawgame(canvas);
try {
Thread.sleep(15);
} catch (InterruptedException e) {
}
invalidate();
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
width = w;
hieght = h;
for (i = 0; i < bubrank; i++) {
bub1.get(i).setbound(0, 0, width, hieght);
}
}
public void drawgame(Canvas canvas) {
canvas.drawColor(Color.DKGRAY);
for (i = 0; i <bubrank; i++)
bub1.add(new bubble1(Color.BLUE, mContext));
bub1.get(0).draw(canvas);
...............................
.................................................. .........
请帮忙....谢谢。
【问题讨论】:
-
如果你已经知道 arraylist 的大小为 2,为什么不将它初始化为
new ArrayList<bubble1>(2); -
我试过了,但效果不错。
标签: android arraylist add indexoutofboundsexception