Android的java.lang.IllegalArgumentException异常 [英] Android java.lang.IllegalArgumentException
问题描述
这可能是一个简单的回答,但我似乎无法得到正确的,我想我会问。
我得到了java.lang.IllegalArgumentException和显示java.lang.NullPointerException
This is probably a simple one to answer but I can't seem to get right and thought I would ask. I am getting a java.lang.IllegalArgumentException and a java.lang.NullPointerException
下面是错误记录
03-20 13:13:22.872: E/SurfaceTextureClient(565): dequeueBuffer failed (No such device)
03-20 13:13:22.879: E/BaseSurfaceHolder(565): Exception locking surface
03-20 13:13:22.879: E/BaseSurfaceHolder(565): java.lang.IllegalArgumentException
03-20 13:13:22.879: E/BaseSurfaceHolder(565): at android.view.Surface.lockCanvasNative(Native Method)
03-20 13:13:22.879: E/BaseSurfaceHolder(565): at android.view.Surface.lockCanvas(Surface.java:76)
03-20 13:13:22.879: E/BaseSurfaceHolder(565): at com.android.internal.view.BaseSurfaceHolder.internalLockCanvas(BaseSurfaceHolder.java:184)
03-20 13:13:22.879: E/BaseSurfaceHolder(565): at com.android.internal.view.BaseSurfaceHolder.lockCanvas(BaseSurfaceHolder.java:161)
03-20 13:13:22.879: E/BaseSurfaceHolder(565): at ca.watercity.CityActivity$Blimp.render(CityActivity.java:235)
03-20 13:13:22.879: E/BaseSurfaceHolder(565): at ca.city.CityActivity$CityThread.run(CityActivity.java:580)
03-20 13:13:22.879: W/dalvikvm(565): threadid=11: thread exiting with uncaught exception (group=0x409c01f8)
03-20 13:13:22.889: E/AndroidRuntime(565): FATAL EXCEPTION: Thread-79
03-20 13:13:22.889: E/AndroidRuntime(565): java.lang.NullPointerException
03-20 13:13:22.889: E/AndroidRuntime(565): at ca.city.CityActivity$Blimp.render(CityActivity.java:237)
03-20 13:13:22.889: E/AndroidRuntime(565): at ca.city.CityActivity$CityThread.run(CityActivity.java:580)
03-20 13:26:12.633: E/AndroidRuntime(564): java.lang.NullPointerException
下面是$ C $两行C它的影响。
Here is the two lines of code it's effecting.
public void render(){
Canvas canvas = null;
try{
// line 235
canvas = this._surfaceHolder.lockCanvas(null);
synchronized (this._surfaceHolder) {
canvas.save();
this.onDraw(canvas);
canvas.restore();
}
}finally{
if(canvas != null){
this._surfaceHolder.unlockCanvasAndPost(canvas);
}
}
}
和本这些线code的。
and this these lines of code.
@Override
public void run() {
while(this._running){
this._blimp.render();
}
} // line 580
在此任何帮助将大大AP preciated。
谢谢你在前进。
Any help in this would be greatly appreciated. Thank you in advance.
推荐答案
你传递null以 SurfaceHolder.lockCanvas
。要使用 lockCanvas)的无参数版本(
相反,假设你没有要被视为肮脏一个矩形。
You're passing null to SurfaceHolder.lockCanvas
. You want to use the no argument version of lockCanvas()
instead, assuming you don't have a rect that you want to be treated as dirty.
这篇关于Android的java.lang.IllegalArgumentException异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!