android 如何通过滚动列表视图更改微调器选择值

How to change spinner selection value by scrolling listview in android

我想在用户滚动列表视图时更改微调器的值选择。我不知道如何做到这一点任何例子都会有很大的帮助。

微调器有项目列表,例如 1 2 3 4 5 6 7 8 9 10...

并且列表视图有带有文本的节号

  1. 列表视图中的文本
  2. 列表视图中的文本
  3. 列表视图中的文本
  4. 列表视图中的文本
  5. 列表视图中的文本

所以,现在当列表视图滚动时,我希望微调项编号会改变。当列表视图在顶部屏幕上有 (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的时候,重写了onScrollStateChangedonScroll两个方法。在 onScroll 方法中,您可以获得 firstVisibleItem 的位置,因此您也可以更新 Spinner