Custom event listener on Android app Custom event listener on Android app android android

Custom event listener on Android app


  1. Define a callback interface

            public interface NewsUpdateListener         {            void onNewsUpdate(<News data to be passed>);        }
  2. Provide a registration facility on the background thread which gets the RSS feed

        class <Background processing class name>     {    ....        ArrayList<NewsUpdateListener> listeners = new ArrayList<NewsUpdateListener> ();    ....         public void setOnNewsUpdateListener (NewsUpdateListener listener)         {            // Store the listener object            this.listeners.add(listener);        }    ....    }
  3. Fire the callback when news is available

    ....for (listener : listeners) {    listener.onNewsUpdate(<News data to be passed>);}....
  4. Register listener somewhere during initialization

    ....    <class <Background processing class object>.registerListener(    new OnNewsUpdateListener() {        onNewsUpdate(<News Data>) {            // process news data            runOnUIThread(new Runnable() {                public void run() {                    // refresh list view                }            }        }}....


try this:

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);   }}


It sounds like you need a Handler - (look-up android.os.Handler for details).

The sendMessageDelayed method will allow you to schedule when the message is sent to your handler.

A quick search pulled up a full example that should get you started: http://www.tutorialforandroid.com/2009/01/using-handler-in-android.html