首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ExpandableListView中的自动滚动

ExpandableListView中的自动滚动
EN

Stack Overflow用户
提问于 2012-10-07 03:10:09
回答 8查看 17.9K关注 0票数 18

我希望我的ExpandableListView在用户展开组时自动滚动,以便展开的组标题位于屏幕顶部。我尝试过smoothScrollToPosition,但这只是确保了展开的组在屏幕上的某处可见。我想显式地滚动它,以使展开的组位于顶部,如本例所示:

代码语言:javascript
复制
Before expanding Group 3:                After expanding Group 3:

+=================+                      +=================+
| Group 1         |                      | Group 3         |
+-----------------+                      +-----------------+
| Group 2         |                      |   Grp 3 Child 1 |
+-----------------+                      +-----------------+
| Group 3         |                      |   Grp 3 Child 2 |
+-----------------+                      +-----------------+
| Group 4         |                      | Group 4         |
+=================+                      +=================+
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-10-07 03:25:56

代码语言:javascript
复制
ListView.setSelection(position)

这将滚动到所选项目,当您单击组项目时调用此选项。

票数 18
EN

Stack Overflow用户

发布于 2013-03-20 20:04:57

下面的代码是一个对我有效的解决方案

代码语言:javascript
复制
public boolean onGroupClick(ExpandableListView parent, View v,int groupPosition, long id) {
    // TODO Auto-generated method stub
    //mExpandableList.setSelectionFromTop(groupPosition, 0);

Boolean shouldExpand = (!mExpandableList.isGroupExpanded(groupPosition));        
    mExpandableList.collapseGroup(lastClickedPosition);

    if (shouldExpand){
        //generateExpandableList();
        mExpandableList.expandGroup(groupPosition);
        mExpandableList.setSelectionFromTop(groupPosition, 0);
    }                
    lastClickedPosition = groupPosition;
    return true;        
}
票数 6
EN

Stack Overflow用户

发布于 2014-07-18 02:33:11

这对我很有效。将其放入您的适配器中:

代码语言:javascript
复制
public void onGroupExpanded(final int groupPosition) {
    super.onGroupExpanded(groupPosition);

    listView.setSelectedGroup(groupPosition);
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12762958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档