2013年7月31日 星期三

Android 學習筆記 : 自訂 listener

有時候需要自己來才抓的到點,比較容易高潮啊...(誤)

1. 寫一個 callback interface

public abstract interface TrackInfoListener {
    public abstract void onInfoUpdated();
}

2. 在 background thread 寫一個 registration function
    - 我之前是寫在 controller 裡

    private ArrayList<TrackInfoListener> trackInfoListeners = new ArrayList<TrackInfoListener>();

    public void setOnTrackInfoListener (TrackInfoListener listener)
    {
        this.trackInfoListeners.add(listener);
    }

3. 在適當時機讓 callback 開砲

        for (TrackInfoListener listener : trackInfoListeners)
        {
            listener.onInfoUpdated();
        }

4. register listener
setOnTrackInfoListener(trackInfoListener);

另外註記一下字串比對要用 s1.equals(s2),我卡了一陣子才發現這件事...

沒有留言:

張貼留言