从类中“调用”UI活动方法

时间:2011-07-28 01:53:19

标签: android

我有一个主要处理UI的Activity,我从其他类(不是服务)中完成大部分其余操作。我在该课程中做的一件事就是播放音频。我需要做的是在音频播放完毕后告诉我的Activity(OnCompletionListener)。

public class MyClass implements OnCompletionListener {
          private MyActivity activity = new MyActivity();
public MyClass(){
}
 ...........
 ...........
 ...........
@Override
    public void onCompletion(MediaPlayer mp) {
        activity.onComplete();

    }

}

这是错误的,因为“无法对MyActivity类型的非静态方法onComplete()进行静态引用。

我很确定我使用的是Java错误,但我无法弄清楚如何从类中调用onComplete。 (将onComplete更改为static是不可行的。)

编辑: 为MyActivity添加了一个构造函数:

public MyActivity(){

    }

并创建了MyActivity的实例,活动(参见上面编辑过的代码),将其传递给方法,但是当我activity.onComplete();时,它意外停止。 (我不知道为什么我的logcat不起作用,当我开始工作时我会回发)

1 个答案:

答案 0 :(得分:0)

只需将MyActivity的一个实例传递给MyClass并在其上调用一个方法。这是有争议的方法,但最好我建议您提供您提供的信息。