首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多片段和活动交互设计

多片段和活动交互设计
EN

Stack Overflow用户
提问于 2012-07-28 20:55:38
回答 1查看 2.4K关注 0票数 0

早上好,我有三个活动,它们对应的片段是ABC。片段A是静态片段,其他片段是动态片段。

Activity A已经为fragment A实现了一个侦听器,该侦听器用于横向加载fragment B或在单一窗格中移动到新屏幕。

我想要的是,当调用fragment C的fragment B中的某个按钮被按下时,我希望它在横向上被fragment C替换(fragment A仍然存在),或者在单一窗格模式下打开一个新的屏幕。我在activity B的onCreate方法中有以下简单代码:

代码语言:javascript
复制
if (getResources().getConfiguration().orientation == 
            Configuration.ORIENTATION_LANDSCAPE) {
        finish();
        return;
    }

我正在努力避免片段对片段的通信,因为它是不受欢迎的。因此,这是否意味着我必须在activity AB中实现片段B的侦听器,我猜在横向activity中,A会加载片段C,而在纵向中,B会接管?有没有更好的办法?我想只在activity B中实现侦听器,并在横向时传递给activity A,但我认为由于上面的代码,它甚至在传递之前就已经完成了。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-29 02:50:52

...so这是否意味着我在活动A和B中都实现了片段B的侦听器,我猜在横向定向中活动A将加载片段C,而在纵向中,B会接管,还是有更好的方法?我想只在活动B中实现侦听器,并在面向横向时传递到活动A,但我认为由于上面的代码,它甚至在通过之前就已经完成了。

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

由于您没有发布任何有关如何管理这些片段的真实代码,请记住,如果您处于纵向(在显示fragment BB活动中),并且通过单击(或无论您做什么)将片段替换为C,则如果您将方向切换为横向,这将不会被带到activity A

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11701208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档