- public NewTransactionItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- NewTransactionRowBinding b =
- NewTransactionRowBinding.inflate(LayoutInflater.from(parent.getContext()), parent,
- false);
-
- final NewTransactionItemHolder newHolder = new NewTransactionItemHolder(b, this);
- Logger.debug("new-trans",
- "Creating new ViewHolder " + Integer.toHexString(newHolder.hashCode()));
- return newHolder;
+ public NewTransactionItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent,
+ int viewType) {
+ switch (viewType) {
+ case ITEM_VIEW_TYPE_HEADER:
+ NewTransactionHeaderRowBinding headerBinding =
+ NewTransactionHeaderRowBinding.inflate(
+ LayoutInflater.from(parent.getContext()), parent, false);
+ final NewTransactionHeaderItemHolder headerHolder =
+ new NewTransactionHeaderItemHolder(headerBinding, this);
+ Logger.debug("new-trans", "Creating new Header ViewHolder " +
+ Integer.toHexString(headerHolder.hashCode()));
+ return headerHolder;
+ case ITEM_VIEW_TYPE_ACCOUNT:
+ NewTransactionAccountRowBinding accBinding =
+ NewTransactionAccountRowBinding.inflate(
+ LayoutInflater.from(parent.getContext()), parent, false);
+ final NewTransactionAccountRowItemHolder accHolder =
+ new NewTransactionAccountRowItemHolder(accBinding, this);
+ Logger.debug("new-trans", "Creating new AccountRow ViewHolder " +
+ Integer.toHexString(accHolder.hashCode()));
+ return accHolder;
+ default:
+ throw new RuntimeException("Cant handle view type " + viewType);
+ }