【问题标题】:how to get values from interface set by adapter in main activity如何从主要活动中适配器设置的接口获取值
【发布时间】:2020-07-26 02:00:54
【问题描述】:

如何从回收站视图适配器获取购物车项目数量到其父活动。

定义接口,在回收器视图适配器中设置项目计数并在主活动中实现接口

   interface OnItemClick {
           void onClick (String value);
   }


   private OnItemClick mCallback;
    public VegeHomeAdapter(Context ctx, ArrayList<ModelTopProd> mData, OnItemClick listener) {
           this.mData = mData;
           this.ctx = ctx;
           this.mCallback = listener;
       }
   int total_items = Integer.parseInt(preferenceHelper.getCARTNO());

                                   total_items+=1;
                                   preferenceHelper.putCARTNO(""+total_items);
                                   mCallback.onClick(""+preferenceHelper.getCARTNO());


        public class Home extends AppCompatActivity implements View.OnClickListener, OnItemClick {

       public interface OnItemClickListener {
               void onItemClick(View view, int position);
           }

   }
How to set values to text view TextView qtyTV; got from adapter

【问题讨论】:

    标签: android android-recyclerview interface sharedpreferences adapter


    【解决方案1】:

    适配器:

    public VegeHomeAdapter(Context ctx, ArrayList<ModelTopProd> mData, OnItemClick listener) {
        this.mData = mData;
        this.ctx = ctx;
        this.mCallback = listener;
    
        interface OnItemClick {
           void onClick (String value);
           void getTotalItems(int totalItems);
       }
    }
      int total_items = Integer.parseInt(preferenceHelper.getCARTNO());
    
      total_items+=1;
      preferenceHelper.putCARTNO(""+total_items);
      mCallback.onClick(""+preferenceHelper.getCARTNO());
    }
    

    首页:

    public class Home extends AppCompatActivity implements View.OnClickListener, OnItemClick {
    
      private int totalItems = 0
    
      @Override 
      public onClick(String itemName) { 
         //your implementation
      }
    
      @Override
      public void getTotalItems(int total)  {
          totalItems = total;
      }
    
    
    
    }
    

    【讨论】:

    • 我通过添加 getTotalItems() 得到错误,该方法不会覆盖其超类中的方法
    • 适配器接口中有方法吗?
    • 我在 VegeHomeAdapter 中有接口,例如 public VegeHomeAdapter(Context ctx, ArrayList mData, OnItemClick listener) { this.mData = mData;这个.ctx = ctx; this.mCallback = 监听器; } interface OnItemClick { void onClick (String value);无效 getTotalItems(int totalItems); }
    猜你喜欢
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 2020-08-18
    相关资源
    最近更新 更多