在同一ListActivity中使用2个ListFragment的问题

时间:2013-02-15 15:39:37

标签: android android-fragmentactivity

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

我是Android开发的新手。因此,在经历了大量的材料之后,我开始设计和开发我的第一个应用程序。虽然我开始在手机上使用Activity方法,但平台在我的研究过程中发生了变化(糟糕!),导致我添加了碎片。所以,我最近做的很多事情都是活动和片段。

有了这个范例,我一直遇到各种各样的问题,花费了大量的时间来修复事情(我可能不是唯一发生过的事情)。

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

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

我正考虑在操作栏中使用另一个模型Tabs,每个Tab代表不同的Activity,但我看到TabActivity类现在已被弃用,鼓励我使用TahHost,我将开始研究。

这篇文章的原因是试图减少错误的数量,追求错误的道路。那么,是否有人遇到过类似的问题/挑战,如果有,你是如何解决的?

任何见解都表示赞赏。

感谢。

1 个答案:

答案 0 :(得分:0)

我有一个小型测试项目,其中包含类似于您正在寻找的情况。它有两个页面,第二个页面是一个片段活动,它托管两个不同的ListFragments。

https://github.com/sababado/NavTest

我希望这会有所帮助。