日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 监听器实现原理

發布時間:2024/4/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 监听器实现原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

監聽器實現者:


public class MyActivity extends Activity implements InternetManager.Listener {

private TextView mText;
private InternetManager mInetMgr;

/* called just like onCreate at some point in time */
public void onStateChange(boolean state) {
if (state) {
mText.setText("on");
} else {
mText.setText("off");
}
}

public void onCreate() {
mInetMgr = new InternetManager();
mInetMgr.registerListener(this);
mInetMgr.doYourWork();
}
}

?

?

自定義類,監聽器作為內部屬性(包含方法),

類中存在調用監聽器內部方法的地方,

set不同的監聽器實現者,處理的方式便不一樣,

監聽器相當于一個鉤子,做回調使用。


public class InternetManager {
// all the listener stuff below
public interface Listener {
public void onStateChange(boolean state);
}

private Listener mListener = null;
public void registerListener (Listener listener) {
mListener = listener;
}

// -----------------------------
// the part that this class does

private boolean isInternetOn = false;
public void doYourWork() {
// do things here
// at some point
isInternetOn = true;
// now notify if someone is interested.
if (mListener != null)
mListener.onStateChange(isInternetOn);
}
}

?

實例二: @Override
public void onStart(Intent intent, int startid) {
super.onStart(intent, startid); locationService = ((LocationApplication) getApplication()).locationService;
//獲取locationservice實例,建議應用中只初始化1個location實例,然后使用,可以參考其他示例的activity,都是通過此種方式獲取locationservice實例的
locationService.registerListener(mListener); //注冊監聽 if (type == 0) {
locationService.setLocationOption(locationService.getDefaultLocationClientOption());
} else if (type == 1) {
locationService.setLocationOption(locationService.getOption());
} } @Override
public void onDestroy() {
Log.i("warn", "ondestroy");
locationService.stop(); //停止定位服務
locationService.unregisterListener(mListener); //注銷掉監聽
}

?

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的java 监听器实现原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。