android 如何通过滚动列表视图更改微调器选择值
How to change spinner selection value by scrolling listview in android
我想在用户滚动列表视图时更改微调器的值选择。我不知道如何做到这一点任何例子都会有很大的帮助。
微调器有项目列表,例如
1 2 3 4 5 6 7 8 9 10...
并且列表视图有带有文本的节号
- 列表视图中的文本
- 列表视图中的文本
- 列表视图中的文本
- 列表视图中的文本
- 列表视图中的文本
所以,现在当列表视图滚动时,我希望微调项编号会改变。当列表视图在顶部屏幕上有 (2. text in a listview) 时,微调项将更改为 2
我从你的问题中了解到,你想在滚动时用 ListView
的第一个可见项目的位置更新你的 Spinner
。因此,为此您需要做的就是将 OnScrollListener
实施到您的 ListView
:
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
}
@Override
public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
//Here You can get the first visible item position and can update the spinner respectively.
spinner.setSelection(firstVisibleItem);
}
});
可以看到,在实现OnScrollListener的时候,重写了onScrollStateChanged
和onScroll
两个方法。在 onScroll
方法中,您可以获得 firstVisibleItem 的位置,因此您也可以更新 Spinner
。
我想在用户滚动列表视图时更改微调器的值选择。我不知道如何做到这一点任何例子都会有很大的帮助。
微调器有项目列表,例如 1 2 3 4 5 6 7 8 9 10...
并且列表视图有带有文本的节号
- 列表视图中的文本
- 列表视图中的文本
- 列表视图中的文本
- 列表视图中的文本
- 列表视图中的文本
所以,现在当列表视图滚动时,我希望微调项编号会改变。当列表视图在顶部屏幕上有 (2. text in a listview) 时,微调项将更改为 2
我从你的问题中了解到,你想在滚动时用 ListView
的第一个可见项目的位置更新你的 Spinner
。因此,为此您需要做的就是将 OnScrollListener
实施到您的 ListView
:
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
}
@Override
public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
//Here You can get the first visible item position and can update the spinner respectively.
spinner.setSelection(firstVisibleItem);
}
});
可以看到,在实现OnScrollListener的时候,重写了onScrollStateChanged
和onScroll
两个方法。在 onScroll
方法中,您可以获得 firstVisibleItem 的位置,因此您也可以更新 Spinner
。