Сохраните в вашем XML-файле узел для Activity, который должен быть вызван, в числовом или строковом формате. Затем составьте список действий в коллекции, которые реализуют определенный интерфейс / абстрактный класс, чтобы вы могли выполнить цикл по нему. Также у действий есть статическое поле / метод, который возвращает их ссылочный номер или строку, чтобы вы тоже могли их сравнить.
Некоторые зарисовки:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<category
name="Item One"
id="grp1" />
<category
name="Item Two"
id="grp2" />
</resources>
В Java:
List<AbstractTable> col = new ArrayList<AbstractTable>();
col.add(new clsGroup1(this.ctx));
col.add(new clsGroup2(this.ctx));
for (AbstractTablecls : col) {
if (cls.getTag().equals(varFromListSelection)) {
//launch intent of this class
}
}
где getTag()
возвращает идентификатор для класса, например: grp1
или grp2