Android滚动最后一个可见的ListItem,直到它完全可见

Android滚动最后一个可见的ListItem,直到它完全可见,android,android-listview,Android,Android Listview,我有一个列表视图,其中的列表项在按下时可以展开。如果我按下列表的最后一个可见项,则不会显示展开的零件。如何滚动列表视图,使其在展开后显示完整视图?我不确定,但如果调用scrollTo(Integer.MAX\u VALUE),会发生什么情况?我使用以下代码部分解决了问题: if (listItemView != null) { Rect listViewRect = new Rect(); Rect listItemRect = new Rect(); getListView().g

我有一个列表视图,其中的列表项在按下时可以展开。如果我按下列表的最后一个可见项,则不会显示展开的零件。如何滚动列表视图,使其在展开后显示完整视图?

我不确定,但如果调用scrollTo(Integer.MAX\u VALUE),会发生什么情况?

我使用以下代码部分解决了问题:

if (listItemView != null) {
  Rect listViewRect = new Rect();
  Rect listItemRect = new Rect();
  getListView().getHitRect(listViewRect);
  listItemView.getHitRect(listItemRect);
  int bottom = listItemRect.bottom + listItemView.getHeight();
  if (bottom > listViewRect.bottom) {
    int y = bottom - listViewRect.bottom;
    getListView().scrollTo(getListView().getScrollX(), y);
  }
}

现在剩下的一个问题是,当你调用scrollTo,然后用手指按列表,就像你想要滚动列表时一样,列表会滚动回调用scrollTo之前的位置。

列表视图是否使用多种视图类型?不,这是一种线性布局,内部有一些隐藏视图,比如一个进度条,但它不是最后一个项目,而是最后一个可见的项目,我的意思是哦,我被标题“Android scroll last ListItem”误导了