
Android开发:Fragment调用Activity的方法最佳方式
在Android开发中,当Fragment需要调用Activity中的方法时,有几种途径可用。以下讨论了两种最常用的方法:
ViewModels
ViewModels是一个可用于跨Fragment和Activity共享数据的轻量级类。它通过LiveData实现数据绑定,LiveData是一种可观察的数据源,当底层数据发生变化时,它会通知其观察者。
使用ViewModels,可以在Fragment中声明一个ViewModel,并在Fragment和Activity中使用相同的ViewModel实例。然后,可以在ViewModel中定义方法,并将它们从Fragment调用。
传递接口
本文档主要讲述的是Android游戏开发之旅;今天Android123开始新的Android游戏开发之旅系列,主要从控制方法(按键、轨迹球、触屏、重力感应、摄像头、话筒气流、光线亮度)、图形View(高效绘图技术如双缓冲)、音效(游戏音乐)以及最后的OpenGL ES(Java层)和NDK的OpenGL和J2ME游戏移植到Android方法,当然还有一些游戏实现惯用方法,比如地图编辑器,在Android OpenGL如何使用MD2文件,个部分讲述下Android游戏开发的过程最终实现一个比较完整的游戏引擎
另一种方式是创建和传递一个接口,该接口定义了Fragment需要调用Activity中的方法。然后,可以在Fragment中实现该接口,并在Activity中将Fragment作为接口的实现类传递。
推荐的方式
在大多数情况下,使用ViewModels是调用Activity方法的更好方法。它提供了一个干净且健壮的方式来跨组件共享数据,并且还消除了与接口传递相关的开销。
对于简单的情况,例如只需要调用Activity中的几个方法,传递接口可能是一种更简单的选择。但是,对于需要共享大量数据的更复杂的情况,ViewModels是首选方式。









