Advertisement
Guest User

Untitled

a guest
Oct 21st, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. package pl.waskicompany.cryptoinfo.coins;
  2.  
  3. import android.databinding.DataBindingUtil;
  4. import android.databinding.ViewDataBinding;
  5. import android.support.v7.widget.RecyclerView;
  6. import android.view.LayoutInflater;
  7. import android.view.View;
  8. import android.view.ViewGroup;
  9.  
  10. import com.android.databinding.library.baseAdapters.BR;
  11.  
  12. import java.util.List;
  13.  
  14. import pl.waskicompany.cryptoinfo.R;
  15. import pl.waskicompany.cryptoinfo.coins.persistence.Coin;
  16. import pl.waskicompany.cryptoinfo.databinding.CoinItemBinding;
  17.  
  18.  
  19. public class CoinsAdapter extends RecyclerView.Adapter<CoinsAdapter.BindingHolder> {
  20.  
  21.  
  22. private final CoinsViewModel mCoinsViewModel;
  23.  
  24. private List<Coin> mCoins;
  25.  
  26. public CoinsAdapter(List<Coin> coins, CoinsViewModel coinsViewModel) {
  27. mCoinsViewModel = coinsViewModel;
  28. setList(coins);
  29. }
  30.  
  31. public void replaceData(List<Coin> coins) {
  32. setList(coins);
  33. }
  34.  
  35. @Override
  36. public int getItemCount() {
  37. return mCoins != null ? mCoins.size() : 0;
  38. }
  39.  
  40. @Override
  41. public BindingHolder onCreateViewHolder(ViewGroup parent, int type) {
  42.  
  43.  
  44. View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.coin_item, parent, false);
  45. BindingHolder holder = new BindingHolder(view);
  46. return holder;
  47. }
  48. @Override
  49.  
  50. public void onBindViewHolder(BindingHolder holder, int position) {
  51.  
  52. final Coin coin = mCoins.get(position);
  53.  
  54. holder.getBinding().setVariable(BR.coin, coin);
  55.  
  56. holder.getBinding().executePendingBindings();
  57.  
  58.  
  59. }
  60.  
  61. private void setList(List<Coin> coins) {
  62. mCoins = coins;
  63. notifyDataSetChanged();
  64. }
  65.  
  66. public class BindingHolder extends RecyclerView.ViewHolder {
  67. private final CoinItemBinding binding;
  68.  
  69. public BindingHolder(View rowView) {
  70. super(rowView);
  71. binding = DataBindingUtil.bind(rowView);
  72. }
  73.  
  74. public ViewDataBinding getBinding() {
  75. return binding;
  76. }
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement