首页 新闻 会员 周边

安卓程序报错

0
悬赏园豆:5 [已关闭问题] 关闭于 2012-05-15 23:24

public class PictureView extends View
{
    public PictureView(Context context)
    {
        super(context);
    }
    Resources r = this.getContext().getResources();
    InputStream is = r.openRawResource(R.drawable.tree);
    BitmapDrawable  bmpDraw = new BitmapDrawable(is);
    Bitmap tree = bmpDraw.getBitmap();   
    int length=tree.getWidth();
    int height=tree.getHeight();
    Paint paint;
    public void onDraw(Canvas canvas)
    {
            Bitmap[] bitmap=new Bitmap[9];
            Bitmap[] bitmapTransfer=new Bitmap[3];
            for(int i=0;i<3;i++)
            {
                bitmapTransfer[i]=Bitmap.createBitmap(tree, 0, i*height/3,length,height/3);
                for(int j=0;j<3;j++)
                {
                    bitmap[i*3+j]=Bitmap.createBitmap(bitmapTransfer[i], j*length/3,0,length/3,height);
                }
            }
            
        canvas.drawBitmap(bitmap[0], 70, 100, paint);
    }
}

这是自定义的View,activity的代码就是显示这个view

这一段代码,在运行安卓的时候,程序直接报错,请问哪里有错?我看logcat,好像说是数组的长度超过了范围,但是我没感觉这个数组有问题啊

微澜的主页 微澜 | 初学一级 | 园豆:-1
提问于:2012-05-15 10:45
< >
分享
所有回答(1)
0
for(int j=0;i<3;i++)
{
      bitmap[i*3+j]=Bitmap.createBitmap(bitmapTransfer[i], j*length/3,0,length/3,height);
}

for里的j<3;j++写是i<3;i++了

artwl | 园豆:16736 (专家六级) | 2012-05-15 13:42

谢谢,不过改过来之后还是有问题的

05-15 15:23:23.001: E/AndroidRuntime(360): java.lang.IllegalArgumentException: y + height must be <= bitmap.height()

实在是不知道哪个逻辑有问题了

支持(0) 反对(0) 微澜 | 园豆:-1 (初学一级) | 2012-05-15 15:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册