0

在我正在开发的应用程序中,我目前使用一个按钮来打开一个新活动,其中包含一个简单的可过滤列表视图。当用户单击列表视图中的一行时,所选值将返回到前一个活动,然后对其进行处理。这意味着我有两个活动来完成一个功能。

我一直在寻找一种将两者优雅结合的方法,并认为可扩展列表视图是可行的方法,但我不确定一件事:getChildView 是否可以被覆盖(自定义可扩展列表视图)以根据父组适配器中的值?

我的适配器从 sqlite 数据库中选择两个值,一个名为“Type”的整数和一个名为“Move”的字符串。我只显示“移动”,但将“类型”绑定到隐藏的 TextView。如果我实现单个可扩展列表视图,我需要以某种方式将“类型”传递给下拉列表,以便它可以显示不同的子视图(允许用户根据类型值输入重量、时间或次数) “1”、“2”或“3”。

使用覆盖 getchildview 方法的自定义 ELV 是否可以做到这一点?我看到您可以获得父位置和子位置,但是除了在单击父时使用全局变量之外,我看不到任何传递给子以知道值、文本等的东西父母?

我在这里也找到了一个不错的实现:https ://github.com/tjerkw/Android-SlideExpandableListView

但是尝试覆盖它似乎太复杂了,所以如果可能的话,我将尝试一个标准的可扩展列表视图。

谢谢!

编辑:这是我正在谈论的一个糟糕的模型。第一个 drop 会有一个只有一个框和一个按钮的视图,第二个视图可能有一个框和一个按钮,但第三个视图有两个框,一个用于重量,一个用于代表,然后是一个按钮。:

在此处输入图像描述

4

1 回答 1

3

这样做的方法是为您希望在 ExpandableListView 的一项中显示的所有可能类型创建一个视图布局。

您只需覆盖适配器getChildView并在其中选择类型和移动。然后设置视图的各个部分View.setVisibility(View.GONE)以确保显示正确类型的视图。

于 2013-09-28T14:38:33.390 回答