0

我有一个典型AsyncTask的想法,即我想正确地与我的Activity类和 UI 逻辑分离。我想这样做:

  1. 制作监听器接口

    public interface MyTaskListener {   
        void onTaskProgress(...);   
        void onTaskDone(...);
    }
    
  2. 使我的Activity实现MyTaskListener并传递this任务创建的参考。

  3. onPreExecute()在和中调用监听器onProgressUpdate()方法onPostExecute()

但也许我正在重新设计轮子,而 Android 框架已经实现了更好的东西?我想到了类似EventBus模式的东西,所有相关方都可以注册特定的事件类型,我可以从我的AsyncTask.

4

1 回答 1

1

接口是这样做的最干净的方式,因为您的任务类是“密封的”,对周围环境一无所知(不访问外部类中的任何东西,当您使用内部类时这很诱人)并与通用通道通信。

于 2013-07-26T07:54:01.847 回答