国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Android在自定義類中實(shí)現(xiàn)自定義監(jiān)聽器方式

瀏覽:109日期:2022-09-25 11:46:34

監(jiān)聽器可以說是Android開發(fā)中最常用的東西之一。我們通過監(jiān)聽器可以監(jiān)聽對(duì)象的各種變化事件,并進(jìn)行一些需要的處理,相當(dāng)有用,而且使用起來也很簡(jiǎn)單。其實(shí),監(jiān)聽器就相當(dāng)于C++中的回調(diào)函數(shù),達(dá)到條件就回調(diào)執(zhí)行。

很多時(shí)候,我們?cè)谧远x控件類中也需要實(shí)現(xiàn)一些屬性變化的監(jiān)聽器,實(shí)現(xiàn)跟原生控件監(jiān)聽器一樣的功能。以下分幾個(gè)步驟說明自定義監(jiān)聽器實(shí)現(xiàn)和使用(以自定義類MyClass加載完成監(jiān)聽器為例):

一、自定義監(jiān)聽器的實(shí)現(xiàn):

1、 定義一個(gè)加載完成監(jiān)聽接口

//加載監(jiān)聽接口public static interface LoadingListener { public void onFinishedLoading(boolean success);}

在MyClass自定義類中定義一個(gè)加載完成監(jiān)聽接口LoadingListener,接口中聲明一個(gè)方法onFinishedLoading給使用該接口的類實(shí)現(xiàn)具體過程,success表示是否加載成功.

2、 聲明接口并實(shí)現(xiàn)一個(gè)設(shè)置監(jiān)聽器的方法

聲明LoadingListener接口

private LoadingListener mLoadingListener;

提供設(shè)置LoadingListener方法

public void setLoadingListener(LoadingListener listener) { mLoadingListener = listener;}

3、 對(duì)應(yīng)的情況下調(diào)用該接口的方法

在MyClass加載完成的時(shí)候則調(diào)用監(jiān)聽接口的方法

mLoadingListener.onFinishedLoading(true);

二、自定義監(jiān)聽器的使用:

1、給MyClass的實(shí)例實(shí)現(xiàn)監(jiān)聽接口中方法

mMyClass.setLoadingListener(new MyClass.LoadingListener() { @Override public void onFinishedLoading(boolean success) { //執(zhí)行必要的處理 }}

在onFinishedLoading函數(shù)中實(shí)現(xiàn)自定義的邏輯則可。

補(bǔ)充知識(shí):android Activity 給 Fragment 設(shè)置回調(diào)的方法

這個(gè)實(shí)現(xiàn)方法很簡(jiǎn)單,可分為3步走:

1.在fragment中定義接口

2.在activity的定義時(shí)實(shí)現(xiàn)這個(gè)接口

3. 在fragment中的 onAttach 方法中 將 Context 轉(zhuǎn)為 相應(yīng)的接口;

代碼如下:

public class AllFragment extends Fragment {//......代碼省略 @Override public void onAttach(Context context) { super.onAttach(context); mOnChangeTabListener = (OnChangeTabListener) context; } public interface OnChangeTabListener{ void onChangeTab(String tag); }}

在activity的定義時(shí)實(shí)現(xiàn)該接口,如下:

public class SearchActivity extends AppCompactActivity implements AllFragment.OnChangeTabListener { //代碼省略 @Override public void onChangeTab(String tag) { if ('應(yīng)用'.equals(tag)){ mViewPager.setCurrentItem(1); }else { mViewPager.setCurrentItem(2); } }}

以上這篇Android在自定義類中實(shí)現(xiàn)自定義監(jiān)聽器方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 最刺激黄a大片免费观看 | xo欧美性另类 | 91成人在线免费视频 | 精品国产亚洲一区二区三区 | 一级毛片免费观看久 | 国产成人黄网在线免 | 精品免费在线视频 | 19+韩国主播青草vip视频 | 国产三级在线视频观看 | 久草在线新视觉 | 精品国产90后在线观看 | 日本三级在线观看中文字 | 日韩欧美一区二区三区久久 | 欧美成人a级在线视频 | 日韩 国产 欧美 | 姐姐真漂亮在线视频中文版 | 亚洲视频欧美 | 日本韩国一级片 | 成年人色网站 | 美女毛片儿 | 国产的一级毛片完整 | 在线观看免费a∨网站 | 欧美午夜激情影院 | 色视频一区二区三区 | 热er99久久6国产精品免费 | 香蕉国产人午夜视频在线观看 | 九九九精品视频免费 | 欧美激情精品久久久久久久久久 | 欧美国产在线观看 | 久久久精品影院 | 国产午夜毛片一区二区三区 | 欧美亚洲日本在线 | 国产成人精品女人不卡在线 | 日本成人在线视频网站 | 国产午夜精品不卡视频 | 欧美一区二区三区免费高 | 香港台湾经典三级a视频 | 狠狠色噜狠狠狠狠色综合久 | 亚洲网站免费观看 | 一级欧美一级日韩片 | 国产大片在线看 |