如何实现一个监听器

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

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

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

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

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

  • 使用ViewHolder显示ListView中最后一个列表项的状态
  • 异步任务执行doInBackground()时发生错误
  • Android AsyncTask和SQLite数据库实例
  • 我如何重用Java / Android中的内部类?
  • 如何检查asynchronous任务是否已经在运行
  • 从AsyncTaskpipe理ProgressDialog的最佳方法
  • Activity.finish()上的AsyncTask仍然在后台运行会发生什么?
  • 使用ViewHolder显示ListView中最后一个列表项的状态
  • 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这个)。