xml中的java.lang.NullPointerException

时间:2013-08-29 09:46:12

标签: android android-layout nullpointerexception android-xml android-custom-view

我想在自定义视图中创建scalebitmap,当我想在xml布局中添加时,xml会给出错误java.lang.NullPointerException,并且想要在onSizeChangedFunction中更改某些行,包括我的init()中的scalebitmap ()。我的代码如下;

protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);

    parentWidth=w;
    parentHeight=h;
    init();         // <--- This

    mBitmap=Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
    mCanvas = new Canvas(mBitmap);
}

和我的init()函数:

private void init()
{
    for(int i=0 ; i<2; i++)
    {   
        int imageResources;
        imageResources=getResources().getIdentifier("rakam"+i, "drawable", myContext.getPackageName());
        Bitmap tempBitmap = BitmapFactory.decodeResource(myContext.getResources(), imageResources);
        --> Bitmap scaledBitmap= Bitmap.createScaledBitmap(tempBitmap, parentWidth, parentHeight, false);
        rakamlar.add(scaledBitmap);

    }
}

错误不在Logcat中,而是在eclipse的xmleditör中。 怎么能解决这个问题?

1 个答案:

答案 0 :(得分:0)

只是一个猜测,但我认为在eclipse下的“编辑”模式下,你可能有一些资源无法解决。为了让您超越即时错误,请尝试:

private void init()
{
    for(int i=0 ; i<2; i++)
    {   
        int imageResources;
        // I suspect imageResources will be 0 while in edit mode..
        imageResources=getResources().getIdentifier("rakam"+i, "drawable", myContext.getPackageName());

        if(!isEditMode()) {
            // Don't access the unavailable resources..
            Bitmap tempBitmap = BitmapFactory.decodeResource(myContext.getResources(), imageResources);
            Bitmap scaledBitmap= Bitmap.createScaledBitmap(tempBitmap, parentWidth, parentHeight, false);
            rakamlar.add(scaledBitmap);
        }

    }
}