提供我的android Project的以下类:
Preview extends SurfaceView implements SurfaceHolder.Callback
和
A extends Doc
我真的不知道怎么问,我知道这不是很好,但是我想从Preview中调用Doc的抽象方法。在此Doc的方法中,我必须调用上一个“预览对象”的方法。
这是一个例子:
从Preview.java中:
Doc _doc = new A();
private void myMethod() {
this._doc.process(this)
}
从A.java:
@Override
public void process(Preview p) {
p.processA();
}
问题是我遇到了一个错误:
Doc类型的方法process(Preview)不适用于参数(new Camera.PreviewCallback(){})
但是,由于我想从Preview调用方法,因此无法更改此判断。我尝试了很多事情,例如演员表等。它们都不起作用。
谢谢你的帮助 !
PS:我在Windows下的Eclipse上。
最佳答案
假设您正在从匿名内部类(我认为是Camera.PreviewCallback类型,因此是错误消息)中调用A.process(this)
,则必须编写A.process(Preview.this)
,因为独立的this
是指内部类而不是内部类。预览实例。
关于java - 将“this”从Java接口(interface)传递给另一个类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27502769/