Самый простой способ - добавить recyleview и добавить элементы, которые вы хотите, в зависимости от типа пользователя, это поможет вам иметь несколько типов представлений и будет поддерживать во многих представлениях и многих элементах теперь хитрость в типах представлений вАдаптер. Вы можете создать универсальный абстрактный адаптер и добавлять данные, каждый элемент которых обязательно расширен из элемента generec, но тип является разным, поэтому он будет раздувать нового держателя представления, теперь в результате будет получен адаптер, принимающий любой элемент, расширенный из класса универсального элемента. если вы хотите мой совет, вы можете просто использовать быстрый адаптер из ссылки библиотеки mikebinz ниже
https://github.com/mikepenz/FastAdapter
или использовать боковое меню, он более прост в использовании
https://github.com/mikepenz/MaterialDrawer