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

标签 java android eclipse oop

给出我的 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/

相关文章:

java - Java/Eclipse 中系统设计的好工具?

java - Eclipse 上的 Gradle,钻石运算符无法识别?

java - 在 Eclipse Kepler 中同步两个仍在开发中的 java 项目

java - 将多行字符串写入文件

java - FileReader 是否接受 Eclipse 插件项目中的相对路径?

android - 如何使用 html android 创建 word 文档

android - 如何使用 Android GradientDrawable

java - 升级hibernate导致eclipse maven项目中servlet-api-2.5.jar错误

java - 有谁知道我在哪里可以找到 "Orto"Javascript JVM?

android - 如何在 react-native 中访问录制的视频文件路径