以编程方式滚动到expandablelistview的底部,其中包含最后一项中的大内容

时间:2015-03-02 19:00:44

标签: android android-listview xamarin xamarin.android expandablelistview

我正在尝试以编程方式滚动到expandablelistview的底部。 SO中的每个其他线程都指向:

var groupPosition = listView.ExpandableListAdapter.GroupCount - 1;
var childCount = (listView.ExpandableListAdapter as MyAdapter).GetChildrenCount (groupPosition);
listView.SetSelectedChild (groupPosition, childCount, false);

或:

var groupPosition = listView.ExpandableListAdapter.GroupCount - 1;
listView.SetSelectedGroup (groupPosition);

如果您的列表项不高于屏幕高度,这些工作效果很好,但在我的场景中,expandablelistview的最后一项中的数据有时可能高于屏幕,尤其是在横向模式下。

我尝试过使用listView.ScrollTo,但它会在底部创建一个很大的空白区域。关于如何直接滚动到expandablelistview底部的任何输入,而不仅仅是最后一组或子项?

1 个答案:

答案 0 :(得分:3)

尝试将这些属性添加到xml

ListView
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"

或以编程方式设置它们,

listView.StackFromBottom = true;
listView.TranscriptMode = TranscriptMode.AlwaysScroll;
listView.TranscriptMode = TranscriptMode.Normal;