有些不对劲。新手错误

时间:2015-01-11 17:13:27

标签: java android

package com.example.jonathan.test01;


import android.content.Context;
import android.graphics.Canvas;
import android.view.SurfaceHolder;
import android.view.SurfaceView;


    public class Test01Surface extends SurfaceView implements Runnable{

    SurfaceHolder ourHolder;
    Thread ourThread = null;
    boolean isRunning = true;

    public Test01Surface(Context context) {
        super(context);
        ourHolder = getHolder();
        ourThread = new Thread(this);
        ourThread.start();
    }

    @Override
    public void run() {
        while(isRunning){
            if(!ourHolder.getSurface().isValid());
                continue;

            Canvas drawing = ourHolder.lockCanvas();
            drawing.drawRGB(72, 98, 198);
            ourHolder.unlockCanvasAndPost(drawing);
        }

    }
}

我在第Canvas drawing = ourHolder.lockCanvas();行收到了无法访问的语句错误 我正在关注Android应用程序编程中的教程视频。请帮我删除此错误。我认为我应该将continue;声明更改为其他内容,但由于我是新的,我不知道要将其更改为什么。或者错误的原因可能是其他原因?

3 个答案:

答案 0 :(得分:1)

删除此行末尾的;

if(!ourHolder.getSurface().isValid());

答案 1 :(得分:0)

总是调用

continue;并且Canvas drawing = ourHolder.lockCanvas();无法访问,因为您在if语句的末尾有一个";"

答案 2 :(得分:0)

正如Jens所说,错误是你的if语句末尾的;

为了更好地阅读您的代码,请使用以下内容:也像这样,您可能不会再次犯这个错误。

if(!ourHolder.getSurface().isValid()){
  continue;
}