Я пытаюсь сохранить выбор счетчика в Базе данных комнаты Android, но каждый раз, когда я запускаю код, слушатель spinner onSelect продолжает зацикливаться.Спиннер - это отдельная карта, созданная видом переработчика.Каждая карта не может быть нажата, и счетчик не может изменить свое значение, поскольку он работает в этом цикле.Я просто пытаюсь выбрать элемент из счетчика, а затем обновить его в базе данных.
СПИСОК СПИННЕРА
holder.itemQuantity.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int spinnerPosition, long id) {
cartViewModel.updateQuantity(cartItems.get(position), holder.itemQuantity.getSelectedItemPosition() + 1);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
КОД РЕПОЗИТОРА
public void updateQuantity(CartItem cartItem, int quan){
new updateQuantityAsyncTask(mCartItemDao, quan).execute(cartItem);
}
private static class updateQuantityAsyncTask extends AsyncTask<CartItem, Void, Void>{
private CartItemDao mAsyncCartDao;
private int quan;
updateQuantityAsyncTask(CartItemDao cartItemDao, int quan){
mAsyncCartDao = cartItemDao;
this.quan = quan;
}
@Override
protected Void doInBackground(final CartItem... params){
mAsyncCartDao.updateQuantity(params[0].getItemID(),quan);
return null;
}
}
КОД DAO
@Query("UPDATE CART_TABLE SET quantity = :quan WHERE itemID = :id ")
void updateQuantity(int id, int quan);
ПОСМОТРЕТЬ КОД МОДЕЛИ
public void updateQuantity(CartItem cartItem, int quantity){
cartRepository.updateQuantity(cartItem,quantity);
}
SPINNER XML
<Spinner
android:id="@+id/cartCardSpinner"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline13"
app:layout_constraintTop_toTopOf="@+id/guideline15" />
Рад предоставить больше информации!Цени любую помощь!
Приветствия