我的布局如下。我想在单击“继续”按钮后,从“数量视图”(从“ +”和“-”按钮之间的文本视图)到我的活动中获取所有数据。
我尝试了一些答案,但没有得到预期的结果。我可以得到一些帮助吗? 我在适配器上添加了一个接口...
public interface OnItemClickListener {
void onItemClick(String id, String amount);
}
public void setOnItemClickListener(OnItemClickListener listener) {
this.listener = listener;
}
在“数量视图”的数量变化上,我试图将数据从适配器转换为活动状态
holder.quantityView.setOnQuantityChangeListener(new QuantityView.OnQuantityChangeListener() {
@Override
public void onQuantityChanged(int oldQuantity, int newQuantity, boolean programmatically) {
if (listener != null) {
listener.onItemClick(pricingPOJO.getId(), newQuantity + "");
}
}
@Override
public void onLimitReached() {
}
});
答案 0 :(得分:1)
将选定位置的地图维护到如下值:
Map<Integer, Integer> positionToValueMap = new HashMap<>();
然后在 OnBindViewHolder
中执行以下操作:
获取您的价值,例如:
yourValue = positionToValueMap.get(getAdapterPosition());
将您的值设置为:
positionToValueMap.put(getAdapterPosition(), yourValue);
然后在适配器类中为 positionToValueMap
创建 getter 方法并从您的片段/活动调用 getter。
大功告成。