Android設(shè)置監(jiān)聽(tīng)事件

技術(shù)需求背景

APP應(yīng)用開(kāi)發(fā)離不開(kāi)多頁(yè)面之間的信息交互鹦赎,比如說(shuō)在現(xiàn)在被大量使用的Fragment恶复,一個(gè)應(yīng)用可能會(huì)有多個(gè)Acitivity,一個(gè)Activity下會(huì)有多個(gè)Fragment。
那么如何在這多個(gè)Activity or fragment下來(lái)進(jìn)行信息交互呢。再具體下
比如如下gif場(chǎng)景

demo.gif

左邊是一級(jí)菜單晨抡,右邊上面是二級(jí)菜單,然后篩選出商品內(nèi)容则剃。
結(jié)構(gòu)是耘柱,外面一個(gè)大的FragmentA,在它里面有兩個(gè)Fragment忍级,左邊是FragmentB帆谍,右邊是FragmentC。
我們要做一個(gè)像上圖那樣添加到購(gòu)物車(chē)的動(dòng)畫(huà)效果轴咱。
參考這篇文章http://www.reibang.com/p/d9a3ae9e806d,我就不詳細(xì)講動(dòng)畫(huà)效果如何實(shí)現(xiàn)了烈涮。
不過(guò)為了實(shí)現(xiàn)這種效果朴肺,我們肯定是需要兩個(gè)信息,點(diǎn)擊+這個(gè)按鈕的view對(duì)象坚洽,和購(gòu)物車(chē)這個(gè)view對(duì)象戈稿。
那么問(wèn)題來(lái)了,添加按鈕在FragmentC 而購(gòu)物車(chē)按鈕在FragmentA
我怎樣能同時(shí)獲得這兩個(gè)對(duì)象以及進(jìn)行處理讶舰?那我們得會(huì)寫(xiě)接口設(shè)置監(jiān)聽(tīng)了鞍盗,請(qǐng)看下面

如何寫(xiě)接口

1.在FragmentC寫(xiě)接口,因?yàn)槲覀兪窃贔ragmentC進(jìn)行點(diǎn)擊事件的跳昼。
public interface FragmentC_sendto_FragmentAListener{
sendClickEvent(View view);
}
接口名字寫(xiě)的長(zhǎng)了點(diǎn)般甲,大概意思就是這個(gè)接口寫(xiě)出了是為了把信息從FragmentC傳到FragmentA。

2.定義成員變量鹅颊,因?yàn)樾枰谔砑拥劫?gòu)物車(chē)的點(diǎn)擊事件上使用
private FragmentC_sendto_FragmentAListener mlistener;

3.定義一個(gè)方法敷存,讓FragmentC能給mlistener賦值
public void setFragmentC_sendto_FragmentAListener
(FragmentC_sendto_FragmentAListener mlistener){
this.mlistener= mlistener;
}

4.在添加購(gòu)物車(chē)+號(hào)按鈕的點(diǎn)擊事件中處理傳遞到FragmentC
addShopCart.setOnclickListener(new OnClickListener(View view){
//如果listner不為空
if(mlistener!=null){
mlistener.sendClickEvent(view);
}
));
就這樣FragmentC的接口寫(xiě)好了。

FragmentA實(shí)現(xiàn)接口堪伍,對(duì)FragmentC的點(diǎn)擊購(gòu)物車(chē)動(dòng)作進(jìn)行監(jiān)聽(tīng)

1. public class FragmentA implements FragmentC.FragmentC_sendto_FragmentAListener {
}

2.監(jiān)聽(tīng)別人是需要“有人”在FragmentC那邊的锚烦,還記得之前我們?cè)贔ragmentC定義了一個(gè)方法嗎——setFragmentC_sendto_FragmentAListener
在onCreatView()里面

setFragmentC_sendto_FragmentAListener(this);

這個(gè)this就是**implements FragmentC.FragmentC_sendto_FragmentAListener **
換個(gè)話(huà)來(lái)說(shuō)FragmentA把人安排到FragmentC監(jiān)聽(tīng)了觅闽。

3實(shí)現(xiàn)接口方法
@Override
public void sendClickEvent(View view) {
// 接受到FragmentC他點(diǎn)擊了+按鈕了
//傳過(guò)來(lái)的view就是那個(gè)被點(diǎn)擊的+號(hào)的對(duì)象
//在FragmentA 肯定能獲得購(gòu)物車(chē)的對(duì)象。
//....自己獲得兩個(gè)不同fragment的對(duì)象涮俄,可以對(duì)其各種操作了
// 來(lái)不及解釋了蛉拙,動(dòng)畫(huà)效果go go go!
}

寫(xiě)的有點(diǎn)啰嗦,有待完善彻亲,有問(wèn)題的可以評(píng)論提問(wèn)下刘离,很微小的經(jīng)驗(yàn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末睹栖,一起剝皮案震驚了整個(gè)濱河市硫惕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌野来,老刑警劉巖恼除,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異曼氛,居然都是意外死亡豁辉,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)舀患,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)徽级,“玉大人,你說(shuō)我怎么就攤上這事聊浅〔颓溃” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵低匙,是天一觀(guān)的道長(zhǎng)旷痕。 經(jīng)常有香客問(wèn)我,道長(zhǎng)顽冶,這世上最難降的妖魔是什么欺抗? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮强重,結(jié)果婚禮上绞呈,老公的妹妹穿的比我還像新娘。我一直安慰自己间景,他們只是感情好佃声,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著拱燃,像睡著了一般秉溉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,631評(píng)論 1 305
  • 那天召嘶,我揣著相機(jī)與錄音父晶,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的撤摸。 我是一名探鬼主播奖恰,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼筋栋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤直撤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后蜕着,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體谋竖,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年承匣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蓖乘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡韧骗,死狀恐怖嘉抒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情袍暴,我是刑警寧澤些侍,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站容诬,受9級(jí)特大地震影響娩梨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜览徒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望颂龙。 院中可真熱鬧习蓬,春花似錦、人聲如沸措嵌。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)企巢。三九已至枫慷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背或听。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工探孝, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人誉裆。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓顿颅,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親足丢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子粱腻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,163評(píng)論 25 707
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線(xiàn)程,因...
    小菜c閱讀 6,424評(píng)論 0 17
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)斩跌、插件绍些、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,105評(píng)論 4 62
  • 因?yàn)楸е疤鞖夂玫闹苣┙^對(duì)不待在宿舍”的信念柬批,星期天,自己一個(gè)人帶著相機(jī)坐6號(hào)車(chē)跑到了恩寧路揭糕。 平時(shí)出門(mén)萝快,只要不趕...
    在游泳閱讀 864評(píng)論 15 10
  • 想記錄,于是愛(ài)上了簡(jiǎn)書(shū)著角; 想臭美揪漩,于是愛(ài)上了足記; 想傾聽(tīng)吏口,于是愛(ài)上了TED演講奄容; 想閱讀,于是愛(ài)上了有書(shū)共讀产徊、愛(ài)...
    豪甯爸爸閱讀 263評(píng)論 0 0