我在这里遇到一种情况,我正在折叠所有组,并且只保留一个组。但扩大后的团队不在场,我希望我的扩展团队始终处于第一个可见的位置。Expandible ListView使扩展的组位置成为第一个可见的位置
这是我所做的折叠所有视图。
@Override
public void onGroupExpanded(int groupPosition) {
super.onGroupExpanded(groupPosition);
ExpandableListView list=(ExpandableListView)mFragment.getmListCategories();
int len = getGroupCount();
for (int i = 0; i < len; i++) {
if (i != groupPosition) {
list.collapseGroup(i);
}
}
}
,我曾尝试以下,以保持该扩展群可见
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
int h1 = mListCategories.getHeight();
int h2 = v.getHeight();
// mListCategories.smoothScrollToPositionFromTop(groupPosition, (h1/2)-(h2/2), 00);
// mListCategories.setSelectionFromTop(groupPosition, 0);
Config.debug("Scroll groupPosition "+groupPosition);
// mListCategories.smoothScrollToPositionFromTop(0, v.getTop() - (v.getHeight()/2) + (v.getHeight()/2), 0);
return false;
}
他们都不是正常工作。任何帮助,将不胜感激。在此先感谢;-)
你可以试试mListCategories.setSelectedGroup(groupPosition)吗? – 2014-10-06 06:17:14
我也是这么做的。 @AtolOHolic – Manoj 2014-10-06 06:43:11
你需要在onGroupExpanded方法中做到这一点。除了这个设置android:transcriptMode =“禁用”的listview。如果这不工作只是尝试mListCategories.setSelection(groupPosition) – 2014-10-06 06:50:31