如何从Java中的适配器刷新活动

时间:2020-06-20 15:20:36

标签: java android android-recyclerview android-adapter recreate

我必须通过在用户更新所选商品的数量时刷新活动来更新购物车活动中所选商品的总价

总价方法位于MainActivity中,而选定的购物车项目位于RecyclerView中

只想从适配器刷新活动

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 个答案:

答案 0 :(得分:1)

您可以在适配器中创建一个接口,您需要在Activity中实现该接口。

在适配器中尝试一下:

n<-8

在您的活动中实现界面:

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

答案 1 :(得分:0)

解决方案

((Cart)context).refreshActivtiy();