在下面的代码中,我在我的android java代码中遇到了一个nullpointerexception。这是在AndroidGraphics.java内部。
public void drawPixmap(Pixmap pixmap, int x, int y) {
canvas.drawBitmap(((AndroidPixmap)pixmap).bitmap, x, y, null);
}AndroidPixmap.java在这里:
package com.badlogic.androidgames.framework.impl;
import android.graphics.Bitmap;
import com.badlogic.androidgames.framework.Graphics.PixmapFormat;
import com.badlogic.androidgames.framework.Pixmap;
public class AndroidPixmap implements Pixmap{
Bitmap bitmap;
PixmapFormat format;
public AndroidPixmap(Bitmap bitmap, PixmapFormat format){
this.bitmap = bitmap;
this.format = format;
}
@Override
public int getWidth(){
return bitmap.getWidth();
}
@Override
public int getHeight(){
return bitmap.getHeight();
}
@Override
public PixmapFormat getFormat(){
return format;
}
@Override
public void dispose(){
bitmap.recycle();
}
}铸件有什么问题吗?任何帮助都是最好的!
EDIT:这是pixmap类:
package com.badlogic.androidgames.framework;
import com.badlogic.androidgames.framework.Graphics.PixmapFormat;
public interface Pixmap {
public int getWidth();
public int getHeight();
public PixmapFormat getFormat();
public void dispose();
}发布于 2012-08-02 11:21:16
您的AndroidPixmap实现了Pixmap,它不是从Pixmap继承/扩展的。如果你转换为Pixmap,你只能得到实现,我假设它有bitmap=null。由于您没有将Pixmap类添加到问题中,因此很难更详细地回答。
发布于 2012-08-02 19:22:28
试试这个:
public void drawPixmap(AndroidPixmap pixmap, int x, int y) {
canvas.drawBitmap(pixmap.bitmap, x, y, null);
}或者,如果您希望在签名中保留Pixmap,您可以使其成为抽象类并扩展它,而不是接口。
https://stackoverflow.com/questions/11770416
复制相似问题