How can I start a new android activity using class name in a string?
Как я могу запустить новое действие Android, используя имя класса в строке?
У меня проблема с приложением для Android, над которым я работаю.
В моем приложении есть несколько разделов, и следующий загружаемый экран основан на строке. Итак, экран 1 раздела 1 будет S1S1.
Мой вопрос в том, как я могу запустить действие на основе строки. У меня есть S1S1, сохраненный в строке, давайте назовем его next activity. Вместо того, чтобы вводить S1S1.class, мне нужно, чтобы оно исходило из строки. Я перепробовал все, что смог придумать, и Google не сильно помог.
Здесь имя класса будет полным именем класса с именем пакета. Например, если ваше имя пакета будет x.y.z и если у вас есть имя действия, вызываемое A, то полное имя (activityToStart) действия A будет x.y.z.A.
Ответ 2
Еще лучший способ (и тот, который используется в системе для запуска Browser.apk вместе с другими приложениями, которые не поставляются в комплекте с AOSP):
В качестве альтернативы, если вы хотите проверить, что вы можете запустить Activity из командной строки, вы можете сделать что-то подобное из своей оболочки:
adb shell am start com.android.browser/.BrowserActivity
Ответ 3
Я не знаю решения, но у меня есть альтернатива.. способ, аналогичный скрытию и отображению div на веб-страницах.
если ваш s1s1 загружает низкое содержимое, разместите их в linearlayout и сохраните их видимость при загрузке формы s1. когда вы нажимаете на s1, чтобы достичь s1s1, скрываете s1 и устанавливаете параметры видимости на "visible".
Делая это, вы можете избежать создания отдельного действия, и таким образом также легко вернуться назад.