5

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

有人可以帮我吗?

我经历过的来源:

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

谢谢..!!

4

1 回答 1

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);
        }
    }
    
  3. 从适配器更新当前可见视图 fromupdateRow()方法。

任务完成 :)

于 2017-02-28T06:16:47.933 回答