【问题标题】:Specific view has been scrolled out of the list view or not?特定视图是否已滚动到列表视图之外?
【发布时间】:2018-09-12 12:27:31
【问题描述】:

我正在编写一个具有视频 ListView 的应用程序,如果用户播放其中一个视频并滚动列表,以使特定视图不再在屏幕上可见,则必须暂停视频,并且应该暂停 MediaPlayer发布。

所以我的问题是,有什么方法可以知道视图在 ListView 中而不是在 ScrollView 中被滚动?

谢谢。

【问题讨论】:

    标签: android listview


    【解决方案1】:

    这对我有用:

    listView.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
    
            }
    
            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
    
                //if the result is false so mediaPlayer must be released
                if (videoCurrentPosition != -1 && !checkExistence(firstVisibleItem, visibleItemCount)) adapter.releaseMediaPlayer();
    
            }
        });
    

    videoCurrentPosition 显示我点击的项目的位置。它由-1设置,因为适配器中的位置从0开始。

    private Boolean checkExistence(int firstVisibleItem, int visibleItemCount) {
    
    
        for (int i = firstVisibleItem; i <= (firstVisibleItem + visibleItemCount - 1); i++) {
    
            // if it's true so our view is inside the list (on screen now)
            if (videoCurrentPosition == i) return true;
    
        }
    
        // if it's false so our view is'nt inside the list (not screen now)
        return false;
    
    }
    

    【讨论】:

      猜你喜欢
      • 2014-02-24
      • 2021-04-15
      • 1970-01-01
      • 2016-12-24
      • 2016-04-07
      • 2021-09-04
      • 1970-01-01
      • 1970-01-01
      • 2017-08-03
      相关资源
      最近更新 更多