2016-10-30 3 views
0

ビューホルダーが2つあります。あるビューのボタンをクリックすると、Recyclerの別のビューでテキストが更新されます。 getRootview()でうまく動作します。 しかし、ビューが非表示になったときにスクロールすると、リサイクラがクラッシュします(getRootViewは何も返さないため)。 これはどのように実装できますか?他のビューホルダーで1つのビューホルダー参照を取得RecyclerView android

ViewHolder1:

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

ViewHolder2:list_cart_product_imageView_addの

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

のonClick:アンドロイドで

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

コードを入力してもよろしいですか? –

答えて

0

リストは、Model-View-Controllerパラダイムを使用しています。 RecyclerViewはもちろんViewであり、アダプターはModelです。

コントローラ(onClickハンドラ)内で、ビューで何かを変更する場合は、モデルを変更してから、ビューを更新します。したがって、アダプターのソースでテキストを変更した後、RecyclerViewにアダプターからのビューを更新するように知らせるためにnotifyDataSetChanged()を呼び出します。

レイアウトを作成したり、データをバインドする場合にのみ、ビューホルダーにアクセスしてください。

関連する問題