怎么样在外面获得recyclerviewAdaper中item的视图?

怎么样在外面获得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方法