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),我卡了一陣子才發現這件事...
沒有留言:
張貼留言