Как обновить sh действие из адаптера в java - PullRequest
1 голос
/ 20 июня 2020

Мне нужно обновить общую цену элементов, выбранных в действии корзины, обновив действие, когда пользователь обновляет количество выбранных предметов

Метод общей цены находится в MainActivity, а выбранные элементы корзины находятся в RecyclerView

Просто хочу обновить sh активность адаптера

public class Cart extends AppCompatActivity {

......

public void refreshActivtiy(){
            recreate();
    }
}

// Адаптер

public class CartAdapter extends RecyclerView.Adapter<CartAdapter.CartViewHolder> {

    public void onBindViewHolder(@NonNull final CartAdapter.CartViewHolder holder, final int position) {

Cart cart = new Cart();
cart.refreshActivity();
}
}

Не работает !!!

Ответы [ 2 ]

1 голос
/ 20 июня 2020

Вы можете создать интерфейс в адаптере, который вам нужно будет реализовать в Activity.

Попробуйте это в своем адаптере:

public class CartAdapter(AdapterInteractions listener) extends RecyclerView.Adapter<CartAdapter.CartViewHolder> {

    interface AdapterInteractions {
        public void refreshActivity();
    }

    public void onBindViewHolder(@NonNull final CartAdapter.CartViewHolder holder, final int position) {
        ...
        listener.refreshActivity();
    }
}

Реализация интерфейса в вашей деятельности :

public class Cart extends AppCompatActivity implements AdapterInteractions {

     ....
     @Override   
     public void refreshActivity(){  
         recreate();
     } 
}
0 голосов
/ 24 июня 2020

Решение

((Cart)context).refreshActivtiy();
...