这个问题主要是征求关于处理我的应用程序的最佳方式的意见.我有三个片段由一个活动处理.片段A有一个可点击元素照片,片段B有4个可点击元素按钮.另一个片段只显示单击照片时的详细信息.我正在使用ActionBarSherlock.
前进和后退按钮需要分别将照片更改为下一个或上一个姿势.我可以将照片和按钮保持在相同的片段中,但是想要将它们分开,以防我想在平板电脑中重新排列它们.
我需要一些建议 – 我应该将碎片A和B结合起来吗?如果没有,我将需要弄清楚如何为3个可点击项目实现一个界面.
我考虑过使用Roboguice,但我已经在使用SherlockFragmentActivity进行扩展,所以这是不行的.我看到提到Otto,但我没有看到关于如何包含在项目中的好教程.您认为最佳设计实践应该是什么?
我还需要帮助找出如何在片段和活动之间进行通信.我想在应用程序中保留一些“全局”数据,比如姿势ID.除了股票开发者的信息之外,我还能看到一些示例代码吗?这不是那么有用.
顺便说一下,我已经在SQLite数据库中存储了每个姿势的所有信息.这很容易.
解决方法:
在您的活动和片段之间进行通信的最简单方法是使用接口.这个想法基本上是在给定片段A中定义一个接口,让活动实现该接口.
一旦它实现了该接口,您可以在它覆盖的方法中执行任何您想要的操作.
界面的另一个重要部分是您必须从片段中调用抽象方法并记住将其强制转换为您的活动.如果没有正确完成,它应该捕获ClassCastException.
关于如何完成这种事情,有关于Simple Developer Blog的一个很好的教程.
我希望这对你有所帮助!