Как я могу открыть новый экран, используя строку? - PullRequest
0 голосов
/ 23 октября 2011

У меня есть функция для открытия нового действия, но я не хочу использовать строку для этого.Моя функция показана ниже.Я думаю, что мой вопрос ясен, если вы видите это.

public boolean showScreen(String screen) {
    Intent intent = new Intent(this, screen.class);
    startActivity(intent);
    return true;
}

РЕДАКТИРОВАТЬ: // Ошибка исчезнет, ​​если я использую try и catch.Теперь моя система работает нормально.

Ответы [ 2 ]

1 голос
/ 23 октября 2011

Вы должны использовать Class.forName (String s), чтобы получить Class для конкретной строки.

Код:

public boolean showScreen(String screen) {
    Intent intent = new Intent(this, Class.forName(screen));
    startActivity(intent);
    return true;
}

Надеюсь, это поможет!

0 голосов
/ 23 октября 2011

Я бы использовал enum и изменил бы параметр на него. Или, по крайней мере, проанализируйте строку в соответствующем перечислении. Тогда вы можете переключить его.

...