单击最后一项时滚动到ExpandableListView的末尾

时间:2012-08-09 09:15:08

标签: android scroll expandablelistview

OnGroupClickListener的{​​{1}}中,我有:

ExpandableListView

除了点击最后一组时,此方法正常。单击最后一个组后,它会滚动到组视图,但不会向下滚动。

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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);
                }               
            }
        });

答案 2 :(得分: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;
}