以编程方式滚动到最后一项内容较多的可扩展列表视图的底部

Scroll programmatically to the bottom of an expandablelistview with big content in last item

我正在尝试以编程方式滚动到可扩展列表视图的底部。 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);

如果您的列表项不高于屏幕的高度,这些方法非常有用,但在我的场景中,可扩展列表视图的最后一项中的数据有时会比屏幕高,尤其是在横向模式下。

我试过使用 listView.ScrollTo,但它会在底部创建一大片白色区域 space。关于如何滚动到可扩展列表视图底部的任何输入,而不仅仅是最后一个组或子项?

尝试将这些属性添加到 xml具有 ListView

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

或以编程方式设置它们,

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