Bil*_*hon 42 events android event-handling listener addeventlistener
我需要设置一个简单的事件监听器来ListView偶尔刷新一次.问题是我不知道如何生成一个事件.
我知道对于像键或按钮按下的事件我只需要实现Handler.但在这种特定情况下,我实际上需要生成事件,每当我的应用程序的另一个运行线程醒来并刷新其RSS源的新闻列表时,将触发该事件.
我已经做了一切,但被困在这里.我可以获得任何建议或链接有关如何实现这一点的更多信息吗?
Sam*_*eer 90
定义回调接口
        public interface NewsUpdateListener 
        {
            void onNewsUpdate(<News data to be passed>);
        }
在后台线程上提供注册工具,获取RSS源
    class <Background processing class name> 
    {
    ....
        ArrayList<NewsUpdateListener> listeners = new ArrayList<NewsUpdateListener> ();
    .... 
        public void setOnNewsUpdateListener (NewsUpdateListener listener) 
        {
            // Store the listener object
            this.listeners.add(listener);
        }
    ....
    }
有消息时触发回调
....
for (listener : listeners) 
{
    listener.onNewsUpdate(<News data to be passed>);
}
....
在初始化期间在某处注册侦听器
....
    <class <Background processing class object>.registerListener
(
    new OnNewsUpdateListener() {
        onNewsUpdate(<News Data>) {
            // process news data
            runOnUIThread(new Runnable() {
                public void run() {
                    // refresh list view
                }
            }
        }
}
....
Hoj*_*jat 28
试试这个:
interface MyHandlerInterface
{
   void onHandle(Object obj)
}
class myListClass
{
   MyHandlerInterface myHandler;
   public void setHandlerListener(MyHandlerInterface listener)
   {
      myHandler=listener;
   }
   protected void myEventFired(myObj)
   {
      if(myHandler!=null)
         myHandler.onHandle(myObj);
   }
}
| 归档时间: | 
 | 
| 查看次数: | 87367 次 | 
| 最近记录: |