如何实现一个监听器

我有一个devise问题。 我需要实现一个监听器。 我看到以下问题: 如何在android中创build我们自己的Listener接口?

但是在答案中提供的链接中,作者创build了一个只是扩展了系统定义的侦听器的侦听器。 例如,onClick,你会做一些validation,然后调用另一个名为“whenValidatedListener”

我需要定义没有链接到现有事件侦听器的侦听器。 基本上会有一些本地(C / C ++)代码进行处理,在Android代码中,我需要一个监听器来响应它的某些消息。

我想我可以用处理程序来做到这一点。 但AsyncTask是multithreading的推荐方法。

有没有办法使用AsyncTask实现用户定义的监听器?

Solutions Collecting From Web of "如何实现一个监听器"

AsyncTask与实现一个监听器无关。

这是一个监听器:

public interface TheListener { public void somethingHappened(); } 

不pipe你想要怎么称呼它。 例如,这里有一个像View一样的类:

 public class Something { private TheListener mTheListener; public void setTheListener(TheListener listen) { mTheListener = listen; } private void reportSomethingChanged() { if (mTheListener != null) { mTheListener.somethingHappened(); } } } 

你可以使这个复杂,只要你想。 例如,而不是一个单一的监听器指针,你可以有一个ArrayList允许注册多个监听器。

从本地代码调用它也与实现侦听器接口无关。 您只需要了解JNI即可了解本机代码如何与Java语言代码进行交互。

只是为了清除一些事情:你完全按照hackbod的说法来添加这个:包含类的活动(使用方法setListener(Listener listen))实现了Listener,并且在oncreate或onResume中,或者在任何地方调用了yourClass.setListener这个)。