我有一个情况,我正在折叠所有组并只保持一个组打开。但是扩展后的群体不在视野范围内,我希望我的扩展群体始终是第一个可见的位置。
这是我为折叠所有观点所做的工作。
@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;
}
它们都没有正常工作。任何帮助,将不胜感激。在此先感谢;-)
答案 0 :(得分:0)
您可以在onGroupExpanded()
方法中执行的操作,在折叠其他视图后,您可以获得要展开的视图的x和y坐标。然后,您可以调用ListView.setScroll(x,y)
滚动到展开的视图。
答案 1 :(得分:0)
在ExpandableListView上设置 android:transcriptMode =&#34;禁用&#34; 。
<ExpandableListView
android:id="@+id/expadableListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:transcriptMode="disabled"
android:fastScrollEnabled="true"
android:groupIndicator="@null"
/>