как получить значения из интерфейса, установленного адаптером в основной деятельности - PullRequest
0 голосов
/ 13 апреля 2020

как я могу получить количество элементов корзины из адаптера представления переработчика в родительское действие.

Определить интерфейс, установить количество элементов в адаптере представления переработчика и реализовать интерфейс в основном действии

   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

1 Ответ

1 голос
/ 13 апреля 2020

Адаптер:

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;
  }



}
...