gpt4 book ai didi

java - 将 "this"从 Java 接口(interface)传递到另一个类

转载 作者:行者123 更新时间:2023-12-01 06:43:26 25 4
gpt4 key购买 nike

给出我的 android 项目的以下类:

Preview extends SurfaceView implements SurfaceHolder.Callback

A extends Doc

我真的不知道如何问,我知道这不太好,但我想从预览中得到它,我调用 Doc 的抽象方法。在这个Doc的方法中,我必须调用前一个Preview对象的方法。

这是一个示例:

来自 Preview.java :

   Doc _doc = new A();
private void myMethod() {
this._doc.process(this)
}

来自A.java:

@Override
public void process(Preview p) {
p.processA();
}

问题是我遇到了错误:

The method process(Preview) in the type Doc is not applicable for the arguments (new Camera.PreviewCallback(){})

但是,我无法改变这一判断,因为我想从预览中调用该方法。我尝试了很多东西,例如 Actor 等,但都不起作用。

感谢您的帮助!

PS:我在 Windows 下使用 Eclipse。

最佳答案

假设您从匿名内部类(我认为是 Camera.PreviewCallback 类型,因此出现错误消息)调用 A.process(this),则必须编写 A.process (Preview.this),因为独立的 this 引用内部类而不是 Preview 实例。

关于java - 将 "this"从 Java 接口(interface)传递到另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27502769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com