从回收者视图适配器到活动中获取价值

时间:2019-12-26 11:01:17

标签: android android-recyclerview recycler-adapter

我的布局如下。我想在单击“继续”按钮后,从“数量视图”(从“ +”和“-”按钮之间的文本视图)到我的活动中获取所有数据。

enter image description here

我尝试了一些答案,但没有得到预期的结果。我可以得到一些帮助吗? 我在适配器上添加了一个接口...

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() {

        }
    });

1 个答案:

答案 0 :(得分:1)

将选定位置的地图维护到如下值:

Map<Integer, Integer> positionToValueMap = new HashMap<>();

然后在 OnBindViewHolder 中执行以下操作:

获取您的价值,例如:

yourValue = positionToValueMap.get(getAdapterPosition());

将您的值设置为:

positionToValueMap.put(getAdapterPosition(), yourValue);

然后在适配器类中为 positionToValueMap 创建 getter 方法并从您的片段/活动调用 getter。 大功告成。