我正在实现类似于Fragments (Android Developers)中描述的片段层次结构。
在纵向平板电脑中,app应该与第二种情况一样。我的问题是处理从一个方向到另一个的交易。
我考虑的第一个想法是:
但是这个解决方案非常复杂,我认为它可能不是一个好主意。我考虑的替代解决方案只是有一个活动。该活动布局是:
<FrameLayout>
<LinearLayout>
<Fragment A>
<Fragment B>
<Slot>
对于小型设备:
对于平板电脑:
我认为第二个选项听起来更好但是,这是正确的方法吗?
由于
答案 0 :(得分:1)
如果你需要我的建议,我会说这取决于太多因素。我认为你应该坚持你认为足够可管理的东西。这也取决于你的应用程序屏幕流程的复杂程度。
如果你没有那么多的片段需要管理,对我来说,将它保存在一个活动中是一个好主意。这种方法的一个优点是你不需要弄乱两种不同活动的生命周期。
无论如何,找到实施情结在某种程度上表明您计划的将来无法为您管理。
希望有所帮助!
答案 1 :(得分:-1)
我不明白你为什么要这么复杂地做这件事。平板电脑上有一项活动,手机上有两项活动。让第一个活动实现一个监听器,如果单击列表片段的项目将触发该监听器。活动知道它是在单窗格还是双窗格模式内,因此在onItemSelected回调方法中,让它在单窗格模式下启动新活动,或者在平板电脑的情况下替换片段。
您还可以在创建新项目时使用主/明细模板查看此内容。