亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Fragment向Activity傳值時onAttach(context)無效 而廢棄的onAttach(activity)有效

http://img1.sycdn.imooc.com//57dd415d0001803b05150282.jpg

上一個方法就報mListener空指針異常,程序也崩了,換成下面一個廢棄的方法就正常

正在回答

2 回答

老的onAttach直接在attach的時候把fragment的容器Activity通過參數傳遞給你了,老的在老師的視頻里可以實現。

但是,新的傳遞給你的是具體的上下文Context,AS這個IDE里面監視器沒VS的好用,無法跟你說Context里怎么找Activity,但是,這個傳遞過來的context參數里面是包含具體的父容器activity的,所以你可以在super.onAttach(context);這句之后,加getActivity()這個方法來獲取父容器activity,這樣就不會報錯了。用老的也可以這么處理。

0 回復 有任何疑惑可以回復我~
#1

慕村5414681

另外補充下,舊的支持到API23好像,所以在這之前的安卓版本都是會調用舊的帶activity參數的onAttach,23以上都是調用context的onAttach,另外一個無效。所以出現崩潰主要是onAttach沒有被調用。 其次,也Context是Activity的基類,所以在新的onAttach那,可以直接mListener =(MyListener)context;
2018-08-20 回復 有任何疑惑可以回復我~

是這樣啊

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android攻城獅的第二門課(第1季)
  • 參與學習       111145    人
  • 解答問題       1560    個

本課程由淺入深地帶您學會Android的常用控件的開發和使用

進入課程

Fragment向Activity傳值時onAttach(context)無效 而廢棄的onAttach(activity)有效

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號