有没有办法在 Android 中展平 ExpandableListView?我有一个 ExpandableListView,当用户在其中搜索特定字符串时,我不想显示组,而是显示与搜索字符串匹配的所有子项。
问问题
304 次
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 回答