多个片段和活动交互设计

时间:2012-07-28 12:55:38

标签: android android-fragments

美好的一天,我有三个活动及其相应的片段ABC。片段A是一个静态片段,其他片段是动态的。

活动A已经为片段A实现了一个侦听器,用于以横向方向加载片段B或在单个窗格中移至新屏幕。

我想要的是在片段B中按下某个按钮时调用片段C,我希望它以横向方向的片段C替换(片段{{ 1}}仍将存在)或以单窗格模式启动新屏幕。我在活动B A方法中有这个简单的代码:

onCreate

我正试图避免片段到片段的通信,因为它是皱眉头。这是否意味着我必须在活动if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { finish(); return; } B中实现片段A的侦听器,我猜测在横向定位活动时B会加载片段{{ 1}}并且在纵向上,A接管?有没有更好的办法?。我想到只在活动C中实现监听器并在横向方向上传递给活动B,但我认为由于上面的代码,它甚至在它通过之前就已经完成了。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

  

...所以这意味着我在两者中都实现了片段B的监听器   活动A和B,我猜测在横向方向   活动A将加载片段C,纵向,B接管或   有没有更好的办法?我想过只在Activity B中实现监听器   在横向定位时传递给活动A,但我认为它会有   由于上面的代码,它甚至在通过之前已经完成。

您无法仅在B活动中实施侦听器,因为A活动必须能够在横向中显示片段C。如果您担心代码重复,那么您可以实现一个基本活动,为此实现回调以显示片段C并使您的两个活动从该基类扩展。

由于您没有发布有关如何管理这些片段的任何实际代码,请注意,如果您处于纵向方向(在显示片段B的{​​{1}}活动中)并点击(或者你做的任何事情)你用B替换片段如果你将方向切换到横向,这将不会被带到活动C

相关问题