假设我有这个抽象类:
package test.one;
public abstract class One {
protected abstract void whatever();
public void run() {
whatever();
}
}
Run Code Online (Sandbox Code Playgroud)
并像这样使用它:
package test.two;
import test.one.One;
public class Three {
public static void main(String[] args) {
One one = new One() {
@Override
protected void whatever() {
System.out.println("Do whatever..");
}
};
one.whatever();
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码编译失败,这是预料之中的。
test/two/Three.java:14: error: whatever() has protected access in One
one.whatever();
^
1 error
Run Code Online (Sandbox Code Playgroud)
但下面的代码编译成功,这似乎令人惊讶:
test/two/Three.java:14: error: whatever() has protected access in One …Run Code Online (Sandbox Code Playgroud) 我正在实现我的自定义视图,我onDraw()在其中覆盖方法以绘制一些对象集。
对象应该放置在以特定方式评估的坐标中。放置这些对象的代码工作不正确(其中一些根本没有绘制或被其他对象覆盖),因此我需要进行一些调试以逐行执行它并观察实际绘制的内容-步。
然而,据我所知,在所有绘图完成后,实际图片显示在屏幕上,因为当我执行canvas.drawBitmapline 时,我的模拟器屏幕上没有出现任何内容。
我的问题是:调试onDraw()代码的最佳(或者可能是唯一的)方法是什么?我在 Adroid 开发门户和这里发布的问题中做了一些研究,但无法找到解决方案。