我正在寻找一种在以编程方式滚动(通过使用smoothscrolltoposition)达到给定位置时触发的方法。
我有一个活动,有一个列表视图。当用户点击按钮时,列表滚动到给定位置。我需要更改该位置的项目布局属性。我正在使用滚动侦听器,并覆盖 onScroll 方法来执行此操作,但该方法并未按照文档所述在最后执行。
顺便说一句:我正在使用 API 8。
这是我的代码:
public void scrollToPosition(View view) {
this.myList.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// Here I need to be positioned in the right place, to change the row layout.
MyActivity.this.myList.setOnScrollListener(null);
}
});
this.myList.smoothScrollToPosition(this.position - 1);
}
TIA,
米尔顿。