2014-01-10 37 views
0

我正在尝试为android应用程序创建一个嵌套列表视图。我essentiall要像完全展开的嵌套列表 - Android

     nested list entry 1 
Outer List Entry1 nested list entry 2 
        nested list entry 3 

         nested list entry 1 
Outer List Entry 2 nested list entry 2 
         nested list entry 3 

如果我有一个外部列表,其中有两个条目,然后让里面有详细的条目(如果你能想象有星期几日历嵌套列表视图中的某些东西作为外部列表,并且每天都有如上所述垂直列出的0个或更多个约会的列表)。此外,我希望嵌套列表项可以按照顶级列表的相同方式进行单击/突出显示。

我发现查找嵌套列表视图的大多数信息都是使用ExpandableListViews的建议 - 这是我实现的,但它看起来有点难看,因为它显然不是同一个目的(我不想要任何可扩展的东西 - 一切都应该总是完全展开和不可折叠 - 同样,无法找到横向布置信息而不是垂直布局 - 但我认为这可能相对容易?)。

我也在这里使用了选择的答案:android nested listview它在演示文稿方面工作正常,但不为嵌套列表中的每个单独项目提供相同的列表滚动/突出显示/点击行为。

任何人都可以提出任何替代方案吗?有没有实施与上述任何一个类似的布局?


UPDATE

我想列出的布局实际上是像上面的文字表示 - 在试图澄清我想要的布局,这里是一个图像(是的,我知道我也许应该downvoted一个图的开放式办公室:)

enter image description here

所以你可以看到,其实我是想在屏幕上看起来像瘸子截图 - 父/外部列表是一个时间段列表(在这种情况下,它是一周中的几天,但可能是一天中的几个小时等),并且对于该外部列表中的每一行,我想要显示内部列表(给定时间段的约会)作为与父级水平对齐的嵌套列表。

回答

1

最后回答: 如果你想要一个表格,那么你应该把它拆分成Fragments。 根视图应该是ScrollView。 孩子必须水平LinearLayout 每一个下一列都是片段。每个碎片容器应该有一定的重量。 每个片段的根视图应该是垂直的LinearLayout 确保Frament with days项目的高度恰好是三个“任务”项目高度。 在dimen.xml中对它们进行硬编码。 为了方便起见,请制作每个可以设置ListAdapter的Fragment的LinearLayout扩展类。基于ListAdapter填充每一行。 通过这种方式,您可以实现具有固定内容的列表。

或者,如果您不想变得灵活,您可以不使用碎片。 添加新列仅仅是封装逻辑的片段的问题。

+0

谢谢 - 除非我错过了一些东西,我不知道这正是我想要的东西 - 它不是我想的不同行不同的布局一个列表,它更多的是在我的主列表的每一行中,我想要有另一个嵌套的其他细节的列表视图。 – rhinds

+0

@rhinds以及你可以使用不同的布局来实现可扩展ListView的外观。 “标题”列表和每个“标题”下面的子列表。或者,也许我不明白你想达到什么目的。你想让它看起来像问题一样水平吗?或者仅仅是为了说明类别是如何组织的? –

+0

好的,所以我已经更新了原始问题 - 是的,我希望布局能够像原始插图一样,但是我添加了一个蹩脚的屏幕截图来尝试进一步说明 - 我会想象这不是一个特别独特的布局? – rhinds

1

为了ExpandableListView不会崩溃,使用

expandableList.setOnGroupClickListener(new OnGroupClickListener() { 
    @Override 
    public boolean onGroupClick(ExpandableListView parent, View v, 
           int groupPosition, long id) { 
    return true; // This way the expander cannot be collapsed 
    } 
}); 
+0

感谢 - 这是很好知道 - 2跟进ups:1)我可以调整布局,以便可扩展列表水平显示为我的文章? 2)你认为这是合理使用可扩展列表吗?这是不好的做法(或可怕的黑客)?它不是一个非常不寻常的布局,所以我认为它一定已经被解决了很多次。 – rhinds

+0

好吧,所以底线我明白你想要查看水平滚动,你已经尝试过'Horizo​​ntalScrollView' –

+0

为什么我会让你去'Horizo​​ntalScrollView'会是因为'ExpandableListView'没有'android:orientation'属性,看到这里为自己=> http://developer.android.com/reference/android/widget/ExpandableListView.html –