久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Android在自定義類中實現自定義監聽器方式

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

監聽器可以說是Android開發中最常用的東西之一。我們通過監聽器可以監聽對象的各種變化事件,并進行一些需要的處理,相當有用,而且使用起來也很簡單。其實,監聽器就相當于C++中的回調函數,達到條件就回調執行。

很多時候,我們在自定義控件類中也需要實現一些屬性變化的監聽器,實現跟原生控件監聽器一樣的功能。以下分幾個步驟說明自定義監聽器實現和使用(以自定義類MyClass加載完成監聽器為例):

一、自定義監聽器的實現:

1、 定義一個加載完成監聽接口

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

在MyClass自定義類中定義一個加載完成監聽接口LoadingListener,接口中聲明一個方法onFinishedLoading給使用該接口的類實現具體過程,success表示是否加載成功.

2、 聲明接口并實現一個設置監聽器的方法

聲明LoadingListener接口

private LoadingListener mLoadingListener;

提供設置LoadingListener方法

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

3、 對應的情況下調用該接口的方法

在MyClass加載完成的時候則調用監聽接口的方法

mLoadingListener.onFinishedLoading(true);

二、自定義監聽器的使用:

1、給MyClass的實例實現監聽接口中方法

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

在onFinishedLoading函數中實現自定義的邏輯則可。

補充知識:android Activity 給 Fragment 設置回調的方法

這個實現方法很簡單,可分為3步走:

1.在fragment中定義接口

2.在activity的定義時實現這個接口

3. 在fragment中的 onAttach 方法中 將 Context 轉為 相應的接口;

代碼如下:

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的定義時實現該接口,如下:

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

以上這篇Android在自定義類中實現自定義監聽器方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
主站蜘蛛池模板: 盖州市| 教育| 噶尔县| 华坪县| 门头沟区| 聊城市| 中方县| 台山市| 阜南县| 彰武县| 错那县| 谷城县| 馆陶县| 宝兴县| 林口县| 元阳县| 阳泉市| 涟源市| 梓潼县| 平顺县| 丹东市| 穆棱市| 姜堰市| 高密市| 开远市| 宝兴县| 屯昌县| 犍为县| 孝昌县| 含山县| 额济纳旗| 辉县市| 巴塘县| 闽侯县| 永济市| 舟曲县| 钦州市| 明光市| 东乡族自治县| 青田县| 工布江达县|