DataBinding do Android no RecyclerView.ViewHolders com diferentes layouts

Estou tentando usar o recurso de ligação de dados do Android em um novo projeto e até agora estou muito feliz com ele.

Mas agora me deparei com um problema no meu visualizador de recyclerviews.

Meu visitante usa layouts diferentes (com base no tipo de exibição quando ele é criado)

public MediaViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
     switch(viewType){
          case HEADER: 
             int layout = R.layout.item_media_header;
             break;
          case DEFAULT: 
             int layout = R.layout.item_media_default;
             break;
          case SMALL: 
             int layout = R.layout.item_media_small;
             break;
     }
     View v = LayoutInflater.from(parent.getContext()).inflate(layout, parent, false);
     return new MediaViewHolder(v);
}

Portanto, todos esses três layouts têm as mesmas visualizações, apenas organizadas de maneira diferente. Portanto, a ligação do modelo às visualizações é a mesma.

De qualquer forma, com base nesses layouts, o Android cria

ItemMediaHeaderBindingItemMediaDefaultBindingItemMediaSmallBinding

O que é péssimo, pois me forçaria a criar três classes diferentes do ViewHolder ou instanciar a classe de associação correta, verificando o layout usado.

Existe uma prática recomendada para este caso? Existe a possibilidade de simplesmente criar uma superclasse para essas três classes de ligação, como "ItemMediaBinding".

Desde já, obrigado.

questionAnswers(3)

yourAnswerToTheQuestion