问题
I need Video to play automatically in listview/scrollview, if view contains video. This is ver much similar with facebook. If user scrolls down and visible area contains video that system will play video and if still scroll then it automaticaly stops that video. It should work like one video should play at one time.
Can someone help me on this ?
sources I have gone through:
- Play video in Android listview
- How to automatically play video in listview on android app
- How to automatically play video in listview on android app
Thanks..!!
回答1:
Please follow the points
- First you need to add a scroll listener into
RecyclerView
Then through the listener update your
RecyclerView
adapterprotected 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); } }
From the adapter update the current visible view from
updateRow()
method.
Job Done :)
来源:https://stackoverflow.com/questions/33890738/automatically-playing-video-in-listview-scrollview-similar-to-facebook