0

我没有添加任何代码,因为这与设计更相关。

我是android开发的新手。所以,在经历了丰富的材料之后,我开始设计和开发我的第一个应用程序。虽然我开始在手机上使用 Activity 方法,但在我的研究过程中,平台发生了变化(真糟糕!),导致我在组合中添加了片段。所以,我最近一直在做的大部分事情都是关于活动和片段的。

使用这种范式,我在各处都遇到了问题,在进行过程中花费了大量时间来解决问题(我可能不是唯一遇到这种情况的人)。

但要直截了当地说:我发现在一个 Activity 中使用多种类型的片段是有局限性的。我试图在具有更多空间的平板电脑显示器上创建多个列表。如示例所示,我创建了一个 ListFragment。在 ListFragment 的 onActivityCreated() 方法内部,使用了一个列表适配器来生成屏幕左侧的初始列表。然后我尝试在另一个 ListFragment 中实现一个 SimpleCursorAdapter,但我永远无法开始工作。我试图研究这个问题,看看是否有人有类似的经历,但无济于事。因此,我尝试将 SimpleCursorAdapter 的代码添加到第一个 ListFragment(注释掉对第二个 ListFragment 的所有引用),尽管它有效,但它会覆盖第一个列表,这不是我想要的。我真的希望一个列表出现在屏幕左侧,下一个列表出现在屏幕中间,然后在屏幕右侧弹出一个 UI,从第二个中选择后加载信息列表。但是由于我只能在第一个 ListFragment 的 onActivityCreated() 方法中生成列表(并且 onActivityCreated() 方法很关键;它不适用于任何其他方法),我被第二个列表替换为第一个列表在初始 ListFragment 中。

当我尝试在包含的 FragmentActivity 中使用第二个 ListFragment 时,使用静态类(我不明白为什么似乎需要使用静态类,但这是另一个讨论),系统选择错误的 onActivityCreated() 方法,这是因为它如何知道如何区分不同 ListFragments 中的两种方法。由于此时我不了解 Android 的内部结构,因此我不知道如何解决这个问题。

我正在考虑使用另一种模型,跨操作栏的选项卡,每个选项卡代表一个不同的活动,但我看到 TabActivity 类现在已被弃用,鼓励我使用 TahHost,我将开始研究它。

发帖的原因是尽量减少错误的数量,追求错误的道路。那么,有没有人遇到过类似的问题/挑战,如果有,您是如何解决的?

任何见解都值得赞赏。

谢谢。

4

1 回答 1

0

我有一个小型测试项目,其中包含与您正在寻找的情况类似的情况。它有两个页面,第二个页面是一个 Fragment Activity,它承载了两个不同的 ListFragment。

https://github.com/sababado/NavTest

我希望这将有所帮助。

于 2013-02-15T15:47:49.227 回答