问一个Android开发思路相关问题 5C

一个Activity中有自定义AView,AView里有自定义BView,BView的点击事件获取Anctivity的最新数据,一般我们的做法是把点击事件回调到Activity中来获取最新数据,这样的话activity的代码量也会增多,耦合度也会变高,有什么好办法能解决这个问题?

3个回答

1.回调机制,如你所说的
2.使用EventBus
3.使用管理类,把view的事件管理起来,在Activity中进行注册,管理类进行分发(观察者模式)

u011106915
蓝色的天空ywj 回复7iang7iang: 是这样的,这样更契合面向对象的思想,让一个对象帮你干一件复杂的事
4 个月之前 回复
u012886757
7iang7iang 管理类只不过是把activity的代码量单独封装了个类
4 个月之前 回复
u012886757
7iang7iang eventbuz 我想过 你想想bview发送event activity接受完在发送数据event给bView 有点麻烦了
4 个月之前 回复

注册观察者,或者使用LiveData来解决,这样项目侵入小,或者使用eventbus,广播等解决,大致思路也是给予观察者模式

使用ViewModel + 观察者模式最为规范

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问