我有一个使用ActionBar
标签进行导航的应用程序。使用这些标签我在布局中使用FragmentPagerAdapter
并带有ViewPager
。
我已在我的应用程序的主Activity
中配置了这些。在那里,我为ViewPager
添加了一个页面更改侦听器,并更改了有关位置的选项卡。当按下选项卡时,我也会反过来这样做。这一切都很好。
然后我有选项卡中的内容。它们都延伸Fragment
类。第一个必须根据设备更改布局。在横向平板电脑(layout-sw600dp-land
)上,我有一个包含两个片段的布局,而其他设备只有一个片段。这是由适当的文件夹中的两个布局文件完成的。
在这些smaler设备上,第二个片段用作对话框。
我不确定如何实现这一切。第一个片段包含一个包含各种任务的ListView。单击其中一个时,右侧片段将显示编辑窗口。在小型设备上,该片段不存在,因此需要作为Activity启动。目前,此编辑窗口为FragmentActivity
。
我该怎么做?我不确定它是否真的更难,但我认为片段中的片段让我感到困惑。
答案 0 :(得分:2)
我不确定如何实现这一切。
这不应该太难。它在概念上是多窗格项目,但不是在使用适当片段的活动之间进行操作,而是使用嵌套片段。
您将在ViewPager
中拥有一个主/包装片段,它将代表自适应页面,该页面将具有一个或两个嵌套片段,具体取决于当前配置(这些片段需要在运行时附加(嵌套片段的限制))。知道了当前的配置,你还需要通过开始一个新的活动来适当地处理选择/点击/触发事件(这是我从你的问题中理解的,但你在这里有点含糊不清)或者设置细节片段。相同的包装片段。
我做了一个与你的问题相关的小样本,你可以找到here。我希望是你想要的,当然要记住这是基本的东西。
答案 1 :(得分:0)
首先将编辑窗口从活动转换为碎片。
设置标签和移动设备的不同页面,如: 1.对于Tab - 设计页面,如左侧列表视图和右侧列表视图中的framelayout 2.对于设备 - 在一个页面中列出Listview并创建另一个用于编辑窗口的活动
现在,通过右侧使用布局文件夹,您可以为同一活动创建两个不同的页面。
现在您需要检查framlayout是否为null。如果为null,那么您的应用程序在手机中运行,这样您就可以在单击列表项时触发具有编辑窗口的下一个活动。如果不为null,那么在listview的右侧有framelayout,所以只需将编辑片段附加到framelayout即可。