1

有没有办法在 Android 中展平 ExpandableListView?我有一个 ExpandableListView,当用户在其中搜索特定字符串时,我不想显示组,而是显示与搜索字符串匹配的所有子项。

4

2 回答 2

0

我认为可能有两种方式:

[1]在您的 XML 中获取另一个列表视图(默认隐藏)用于搜索匹配结果显示,当搜索发生时,隐藏 ExpandableListView设置 Visibility = VISIBLE 另一个隐藏的简单列表视图

但是,通过这种方式,您必须放置一些像 OK 这样的按钮,当用户看到搜索到的 List 时,按 OK 它可以看到 ExpandableListView。

[2]当显示搜索结果时,您可以设置CHILD CLASS的自定义行来设置Left MARGIN = --10dp(或需要的东西) 。您还必须在搜索时使用FLAG。并且在适配器中通过检查这个 FLAG 必须设置 textview 的左边距。


编辑第三种方式


[3]如果设置了标志,则用 SEARCHED 项填充 GROUP-LIST。取另一个 Extra Blank-List 并 用 Blank-List 填充 Child-List

这样就不需要设置Left Margin。

于 2012-08-03T18:15:34.693 回答
0

在适配器中,返回一个空视图。这将阻止组视图显示:

public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
    return new View(parentActivity);
}

在 ExpandableListView 中,展开所有组:

int count = adapter.getGroupCount();
for (int i=0; i<count; i++)
{
    listView.expandGroup(i);
}
于 2012-08-03T22:09:04.803 回答