我想写一个程序,一个球在屏幕上移动,因此,我读了很多教程,我无法理解这一行:
mHolder = getHolder();
mHolder.addCallback(this);什么是"this“参数在addCallback方法中?我为什么要用这个方法?我读过关于SurfaceView、SurfaceHolder和Canvas的文章,但我不能很好地理解SurfaceHolder.what,是吗?
我知道我的问题很蠢,但这是个问题!请解释一下这个概念。
发布于 2013-04-08 12:27:12
“这”是一个基本的Java/OO概念..。这里,它引用了调用mHolder.addCallback()的对象。在类声明中,您将在顶部看到它“实现SurfaceHolder.Callback”。
因为您的类实现了SurfaceHolder.Callback,所以它是SurfaceHolder.Callback的一个实例,因此它可以将一个对自身的引用('this')传递给接受SurfaceHolder.Callback参数的函数。
至于SurfaceHolder的“概念”,它只是应用程序代码与Surface交互的接口。它用于SurfaceView.java ..。查找私有SurfaceHolder mSurfaceHolder声明。
这是100%的猜测,但我认为SurfaceHolder是这样分离出来的,因为设计者设想拥有其他类型的SurfaceViews,并希望有一种标准的方式让应用程序代码与他们进行交互。
https://stackoverflow.com/questions/15878353
复制相似问题