怎么样在外面获得recyclerviewAdaper中item的视图?
看你需要做什么,如果是想更新view中某些元素的样子,可以通过改变数据源中的属性,然后notify去做
你在你自定义的adapter中进行计算后,然后保存
用接口,监听器。fragment 把接口的匿名内部类对象设置到adaptet。item初始化时候,把adapter中接口设置到item,item中判断接口不为空,调用接口方法,把view传进方法参数。
在你的adapter中加入以下代码:
//用map保存对应位置的viewholder
private Map viewHolderMap = new HashMap<>();
public Map getViewHolderMap() {
return viewHolderMap;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
viewHolderMap.put(position, holder);
}
之后在使用的时候:
int width = adapter.getViewHolderMap().get(position).itemView.getMeasuredWidth();
int height = adapter.getViewHolderMap().get(position).itemView.getMeasuredHeight();
在你的adapter中加入以下代码:
//用map保存对应位置的viewholder
private Map<Integer, RecyclerView.ViewHolder> viewHolderMap = new HashMap<>();
public Map getViewHolderMap() {
return viewHolderMap;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
viewHolderMap.put(position, holder);
}
之后在使用的时候:
int width = adapter.getViewHolderMap().get(position).itemView.getMeasuredWidth();
int height = adapter.getViewHolderMap().get(position).itemView.getMeasuredHeight();
给adapter加一个getView方法