Я думаю, что проблема в методе oncreateviewholder, вы должны знать, что значение default предназначено для запуска, когда не выполняется ни одно условие. Поэтому удалите значение по умолчанию:
Удалите это:
default:
View menuItemLayoutView = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.post_item, viewGroup, false);
return new MenuItemViewHolder(menuItemLayoutView);
используйте только это:
case UNIFIED_NATIVE_AD_VIEW_TYPE:
View unifiedNativeLayoutView = LayoutInflater.from(
viewGroup.getContext()).inflate(R.layout.ad_unified,
viewGroup, false);
return new UnifiedNativeAdViewHolder(unifiedNativeLayoutView);
case THREAD_ITEM_VIEW_TYPE:
View threadItemLayoutView = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.thread_item, viewGroup, false);
return new ThreadItemViewHolder(threadItemLayoutView);
case MENU_ITEM_VIEW_TYPE:
View menuItemLayoutView = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.post_item, viewGroup, false);
return new MenuItemViewHolder(menuItemLayoutView);
То же самое для метода onBindViewHolder, делайте то, что я вам сказал.