在列表视图/滚动视图中自动播放视频,类似于 facebook

Lum*_*oid 5 video android listview scrollbar playing

如果视图包含视频,我需要视频在列表视图/滚动视图中自动播放。这与 Facebook 非常相似。如果用户向下滚动并且可见区域包含视频,系统将播放视频,如果仍然滚动,则会自动停止该视频。它应该像一次播放一个视频一样工作。

有人可以帮我解决这个问题吗?

我经历过的资料来源:

  1. 在 Android 列表视图中播放视频
  2. 如何在Android应用程序的列表视图中自动播放视频
  3. 如何在Android应用程序的列表视图中自动播放视频

谢谢..!!

Cha*_*ake 2

请遵循要点

  1. 首先你需要添加一个滚动监听器到RecyclerView
  2. 然后通过监听器更新你的RecyclerView适配器

    protected void onListViewUpdate(final int position, final Object object) {
        final RecyclerView view = mView;
        LinearLayoutManager layoutManager = ((LinearLayoutManager)view.getLayoutManager());
        final View convertView = layoutManager.findViewByPosition(position);
        int firstVisiblePosition = layoutManager.findFirstCompletelyVisibleItemPosition();
        int lastVisiblePosition = layoutManager.findLastCompletelyVisibleItemPosition();            
    
        if (firstVisiblePosition <= position && position <= lastVisiblePosition) {
            // this is the convertView that you previously returned in getView
            // just fix it (for example:)
    
            Thread thread = new Thread(){
                @Override
                public void run() {
                    super.run();
    
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            adapter.updateRow(adapter.getItem(position), convertView, object);
                        }
                    });
                }
            };
            thread.start();
        } else {
            // just update your data set, UI will be updated automatically in next
            // getView() call
            adapter.updateData(position, object);
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 从适配器中更新当前可见视图的updateRow()方法。

任务完成 :)