2012-08-17 92 views
0

我在屏幕上有两个ListFragment s。一个在左边是文件结构 - 文件夹。在右侧有一个ListFragment,该列表中的每个元素都是顶部带有标题的文本段落。两个ListFragments同步

现在,左边的文件结构是所有段落标题的有效副本,但考虑到层次结构,因此它不是平坦的。

现在当我点击左边的一个文件夹时,我想要一个右边的列表滚动到/显示那个文件夹名称作为标题的段落。我可以尝试使用setSelection(POSITION);方法,但是如何才能找出血腥的POSITION呢?左列表中的位置不等于右列位置。

尊敬的大家,对此有何看法?这更多是一个设计问题。

我会任何帮助XXX

回答

1

Android开发指导各国真的很感激:

所有片段到片段通讯都是通过相关 做过的事情。两个碎片不应该直接通信。

形势

利斯塔在FragmentA和数组listB在FragmentB。单击ListA中的项目应将ListB滚动到正确的位置。

(可能的)溶液

  • 片段之间的通信是由FragmentManager完成。

  • 对您的列表使用ArrayAdapter。这意味着ArrayList将作为一种数据源与构造函数一起提供。我们称之为ArrayListA和ArrayListB

  • 当您在ListA中单击您的项目时,必须在ArrayListB中搜索标题并返回该位置。一旦你有了位置,你可以设置ListB的位置。