2 yyy000112 yyy000112 于 2017.01.03 20:27 提问

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

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

6个回答

ligen52
ligen52   2017.01.07 13:58

在你的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();

ligen52
ligen52   2017.01.07 14:00
在你的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();
bdmh
bdmh   Ds   Rxr 2017.01.03 20:51

看你需要做什么,如果是想更新view中某些元素的样子,可以通过改变数据源中的属性,然后notify去做

yyy000112
yyy000112 我需要获得adapter中item的高度
11 个月之前 回复
Mr_dsw
Mr_dsw   Ds   Rxr 2017.01.04 12:50

你在你自定义的adapter中进行计算后,然后保存

maoqis
maoqis   2017.01.05 22:11

用接口,监听器。fragment 把接口的匿名内部类对象设置到adaptet。item初始化时候,把adapter中接口设置到item,item中判断接口不为空,调用接口方法,把view传进方法参数。

dongfeng9ge
dongfeng9ge   Ds   Rxr 2017.07.13 18:20

给adapter加一个getView方法

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!