东西是我列表中的第一项,从逻辑上讲,它是一个标头,其中包含一个WebView
,该标头加载视频的url,并在选定视频项后立即内联播放选定的视频。
但是事情是将列表进一步滚动到该标题项不可见的那一刻,它立即被回收,并且webview现在丢失并且视频现在停止了,我真正想要的是如果我可以某种方式限制该标题项可以回收利用,或者我可以保留该ViewHolder
。
我已经尝试过了
holder.setIsRecyclable(false);
中的onBindViewHolder()
还有这个
listVideos.getRecycledViewPool().setMaxRecycledViews(0, 0);
但是他们俩都没有按照我的意图工作,所以我可能是错的。
供参考:
@Override
public DiscoverPlayerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType == VIEW_TYPE_HEADER) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.layout_discover_header, parent, false);
HeaderHolder holder = new HeaderHolder(itemView);
return holder;
}else {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_item_discover_video, parent, false);
return new ItemHolder(itemView);
}
}
那么是否有可能实现这一目标?据我所知,页眉/页脚不会在iOS中使用tableView进行回收,但是由于Android中的RecylerView没有提供任何直接的方法来设置页眉/页脚,所以这是一个问题。
任何帮助将不胜感激。