1

OnGroupClickListenerExpandableListView,我有:

expLista.setOnGroupClickListener(new OnGroupClickListener()
{

    @Override
    public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id)   
    {
      // Pongo el valor de grupo clickeado correctamente
      grupoCLickeado = groupPosition;
      expLista.smoothScrollToPosition(groupPosition);
    }
}

这工作正常,除非单击最后一个组。单击最后一个组后,它会滚动到组视图,但不会全部向下滚动。

是否可以向下滚动到可扩展列表视图的末尾?

4

3 回答 3

2

尝试为此组件编写以下内容 android:transcriptMode="alwaysScroll"

于 2012-10-29T19:20:55.010 回答
2

一般来说,您不需要滚动 ExpadableListView 中的第一组。在 ExpadableListView 中设置除第一组以外的 transcriptMode。

getExpandableListView().setOnGroupExpandListener(new OnGroupExpandListener() {

            @Override
            public void onGroupExpand(int position) {

                if(position == 0) {
                    getExpandableListView().setTranscriptMode(ExpandableListView.TRANSCRIPT_MODE_DISABLED);
                }else{
                    getExpandableListView().setTranscriptMode(ExpandableListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
                }               
            }
        });
于 2013-06-04T05:14:33.377 回答
1

尝试这个

private void scrollToEnd() {
    expLista.post(new Runnable() {
        @Override
        public void run() {
            // Select the last row so it will scroll into view...
            expLista.smoothScrollToPosition(getCount() - 1);
        }
    });
}

private int getCount() {
    int count = 0;
    for (int i = 0; i < adapter.getGroupCount(); i++) {
        for (int j = 0; j < adapter.getChildrenCount(i); j++) {
            count++;
        }
        count++;
    }
    return count;
}
于 2015-09-02T11:29:52.033 回答