基於Fragment回撥介面委託工作任務給託管Activity
要委託工作任務給託管activity,通常的做法是由fragment定義名為Callbacks的回撥介面。
回撥介面定義fragment委託給Activity處理的工作任務。
任何打算託管fragment的Activity都必須實現它。
有了回撥介面,就不用關心誰是託管者,
fragment可以直接呼叫託管Activity的方法。
回撥介面的使用方法類似如下程式碼:
public class CrimeFragment extends Fragment{
.............
private Callbacks mCallbacks;
//定義一個介面
public interface Callbacks {
void onCrimeUpdated( );
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
//Fragment attach到Activity時,將Activity強轉為Callbacks儲存
mCallbacks = (Callbacks)context;
}
@Override
public void onDetach() {
super.onDetach();
//detach賦值為null
mCallbacks = null;
}
...........
private void updateCrime() {
CrimeLab.get(getActivity().getApplicationContext()).updateCrime(mCrime);
//需要時,就呼叫Callbacks定義介面函式
mCallbacks.onCrimeUpdated();
}
}
我們再看看託管Activity的實現示例:
public class CrimeListActivity extends SingleFragmentActivity
implements CrimeListFragment.Callbacks, CrimeFragment.Callbacks {
..............
//實現介面中的函式
@Override
public void onCrimeUpdated() {
//Activity持有的另一個Fragment
CrimeListFragment listFragment = (CrimeListFragment)
getSupportFragmentManager().findFragmentById(R.id.fragment_container);
//呼叫另一個Fragment的函式
listFragment.updateUI();
}
}
可以看出,通過Fragment的回撥介面,可以方便的實現同一個託管activity持有的多個Fragment之間的通訊。
相關推薦
基於Fragment回撥介面委託工作任務給託管Activity
要委託工作任務給託管activity,通常的做法是由fragment定義名為Callbacks的回撥介面。 回撥介面定義fragment委託給Activity處理的工作任務。 任何打算託管fragment的Activity都必須實現它。 有了回撥介面,就不
C#POST 支付寶/微信回撥介面
一般支付寶/微信的回撥介面都會返回xml格式,下面是呼叫類似這種介面的辦法: public async Task<string> GetData() { string requestUrl = "http://localhost:xxx/xx/xxxx/xxx/xxxx
淺析微信支付:申請退款、退款回撥介面、查詢退款
本文是【淺析微信支付】系列文章的第八篇,主要講解商戶如何處理微信申請退款、退款回撥、查詢退款介面,其中有一些坑的地方,會著重強調。 淺析微信支付系列已經更新七篇了喲~,沒有看過的朋友們可以看一下哦。 淺析微信支付:查詢訂單和關閉訂單 淺析微信支付:支付結果通知 淺析微信支付:統一下單介面
ThreadUtil 多執行緒處理List,回撥處理具體的任務
每次想多執行緒處理一個大的結果集的時候 都需要寫一大堆程式碼,自己寫了個工具類 方便使用 package com.guige.fss.common.util; import com.guige.fss.common.exception.BusinessException; im
Android中點選事件回撥介面踩坑心得
有時候寫程式碼的時候有這樣的功能要求,如在ListView或recyclerView中的Item中的控制元件(如Button,TextView)上添加回調介面事件。其實難點就在添加回調介面事件上,怎麼寫介面,介面回撥在哪裡,這才是關鍵。下面是個例子: 介面的寫法:一下是兩介
[Android]RecyclerView基本使用+adapter回撥介面實現點選事件
一、概述 RrcyclerView是ListView的加強版,不僅可以輕鬆實現和ListView同樣的效果,還優化了ListView中存在的各種不同之處。 Android官方推薦我們使用RecyclerView。 二、基本用法 1.首先需要在專案的build.gradle中新增相
第三方支付平臺支付介面及回撥介面開發
作為開放式的B/S架構程式,無論所屬電商,金融,機械製造,企業OA,ERP,CRM,CMS等等行業或系統中,第三方支付以及銀聯支付的業務一定是客戶關心所在,也是保證客戶系統盈利運營的一個重要保障。通常這種B2C或者C2C系統的開發,商戶使用者所關注的支付平臺大多離不開“阿里支付寶,快錢,騰訊財付通,易寶支
解決:接入微信支付,調不起回撥介面WXPayEntryActivity
最近開發公司SDK需要接入微信支付功能,於是上了微信開發者平臺,下載微信的SDK,按著文件接入。當我進行微信支付,需要調起微信客戶端,但是卻沒有。而微信回撥WXPayEntryActivity也沒有被回撥起來。這就很奇怪了,看回文件,說要把WXPayEntryActivity
一個自定義dialog提供確定和取消按鈕的回撥介面
public class MessageDialog { Context context; AlertDialog dialog; AlertDialog.Builder bu
android 萬能回撥介面
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">剛做android開發時經常遇到資料傳遞的問題,因為對Java也不是很熟
Spring生命週期不可不知的回撥介面
上回說到 Spring bean生命週期中的InitializingBean介面,我們瞭解到這只是spring bean生命週期中修改bean的諸多方式之一,其實在整個生命週期中,修改bean的方式大致有如下幾種: 實現 InitializingBean介面 的 afterPropertiesSet
android中的回撥-介面回撥
發現很多初學者對於回撥,介面,抽象 等概念理解的不是很透徹。 今天就以我的經驗把 介面回撥給大家闡述一下。適合初學者看看。 先簡單說說我的理解吧, 所謂的介面回撥。 你先將介面定義好,然後在特定的條件下條用它。 可能很多初學者開始的時候很疑惑,其實這也東西你天天都在
OK回撥介面資料型別-泛型回撥
在OK請求完成之後: handler.post(new Runnable() { @Override public void run() { Class<Object> genericUtil = GenericUtil.getGener
android回撥介面筆記
上圖: 佈局檔案: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/too
在Activity和Service之間使用Binder和回撥介面進行通訊
Activity和Service之間的通訊方式有多種:通過broadcast、擴充套件Binder類、使用Messenger、使用AIDL等。 擴充套件Binder類使用場景 如果你的服務僅供本地應用使用,不需要跨程序工作,則可以實現擴充套件Binder 類,讓你的客戶
Android中Service與Activity的通訊---回撥介面方式
最近在技術交流群中有人問到:要實現service與activity的高強度通訊用什麼方法? 群友回答的是用handler,但面試官好像不太滿意,後來本人查找了下資料,得到個人的結論:service與activity之前的通訊方式有很多,回撥介面方式、觀察者模式、廣播、還有h
android 回撥介面學習(自定義Dialog 獲取資料資料回撥)
功能: 將單獨的一個Dialog提取出來以複用程式碼,然後在activity中去new 一個Dialog出來,能夠獲取Dialog選取的資料; 具體實現 TopicSingleChoiceDialog.java private int topicID=
為什麼說過濾器Filter基於函式回撥
FilterChain是回撥介面,doFilter(request,response)是回撥方法,ApplicationFilterChain是實現類,裡面能得到實現了Filter介面的實現類xxxFilter,在doFilter(request,response)
Fragment和Activity互動,Fragment回撥
在一些情況下,你可能需要fragment與activity共享事件。 這樣做的一個好方法是在fragment內部定義一個回撥介面,並需要宿主activity實現它。當activity通過介面接收到回撥時,可以在必要時與佈局中的其它fragment共享資訊。 舉個例子,如果
Callback非同步回撥介面
/** * 用於網路請求結果的回撥的抽象類,使用該類可以保證網路請求在主執行緒發起,在子執行緒回撥 * 使用的非同步任務,並且保證了非同步任務的建立在主執行緒執行 */ public abst