为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

3 回答

个人理解应该是将listener和Activity实现绑定

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

慕莱坞2491857 提问者

应该是获取到activity里面的listener吧 因为回调就是要用activity里面的listener 来回调
2016-03-06 回复 有任何疑惑可以回复我~
#2

慕莱坞2491857 提问者

非常感谢!
2016-05-22 回复 有任何疑惑可以回复我~

listener 是 fragment 的内部类,调用 listener.thank(),实际是执行activity的thank()。原理是父类指向子类,子类实现了父类的方法,执行的就是子类的方法。

所以看起来是fragment在执行自己的方法,实际是执行了activity的代码。(相当于fragment是告诉activiy,你准备要调用thank()了,所以具体的实现代码是由activity管理的)

也体现了封装的特性。因为把fragment把数据传给了acvitity之后,具体activity要怎么做,fragment管不着,也没必要管。(fragment只需要把数据扔过去,其他事一概不管)

其实,直接在 fragment 中调用 getActivity.thank(xxx); 也可以实现相同的功能。不过这个就违背了封装的性质了。

1 回复 有任何疑惑可以回复我~

搞不懂。。

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

举报

0/150
提交
取消
Android攻城狮的第二门课(第1季)
  • 参与学习       111172    人
  • 解答问题       1457    个

本课程由浅入深地带您学会Android的常用控件的开发和使用

进入课程

activity 强转为listener 有什么用

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信