在另一个视图持有者RecyclerView android中获取一个视图持有者参考

时间:2016-10-30 13:34:57

标签: android android-recyclerview

我有两个观看者。单击一个视图中的按钮时,我希望在Recycler的另一个视图中更新文本。 它适用于getRootview()。 但是当视图被隐藏时滚动,回收器崩溃(因为getRootView不再返回任何内容)。 我该如何实现呢?

ViewHolder1:

public static class CartHeader extends RecyclerView.ViewHolder {
    public TextView list_cart_header_textView_total; 
    private TextView list_cart_header_textView_title; 
} 

ViewHolder2:

public class CartDBItem extends RecyclerView.ViewHolder implements View.OnClickListener { 
    private ImageView list_cart_product_imageView_add; 
}

点击list_cart_product_imageView_add:

CartHeader ch=new CartHeader(view.getRootView());
storeHeader=Double.parseDouble(ch.list_cart_header_textView_‌​total.getText().toSt‌​ring());

1 个答案:

答案 0 :(得分:1)

Android中的列表使用模型 - 视图 - 控制器范例。当然,RecyclerView是视图,适配器是模型。

在Controller(onClick处理程序)中,当您想要在View中更改某些内容时更改模型,然后更新View。因此,您在适配器中更改源文本,然后调用notifyDataSetChanged()RecyclerView知道从适配器刷新其视图。

您只应在创建布局或绑定数据时访问视图持有者。