我有一个问题,我的一个android应用程序,我的工作。
我的应用程序有几个部分,下一个加载的屏幕是基于字符串的,所以第一部分的第一个屏幕是S1S1。
我的问题是,我怎样才能启动一个基于字符串的活动。我把S1S1保存在一个字符串中,让我们称之为next activity。我不需要输入S1S1.class,我需要它来自字符串。我已经尝试了我能想到的一切,google没有太大帮助。
我试过的一些方法
Intent myIntent = new Intent(nextactivity);
Intent myIntent = new Intent(v.getContext(), getClass().getName().valueOf(nextactivity));
Intent myIntent = new Intent(v.getContext(), Class.forName(nextactivity));
试着和
startActivityForResult(myIntent, 0);
但好像都不管用有什么办法吗
4条答案
按热度按时间np8igboo1#
下面是一个代码,您可以通过它使用活动的名称启动活动
编辑
此处的类名是包含程序包名的类的全名。例如,如果您的程序包名是
x.y.z
,而您的“活动”名是A
,则“活动”A
的全名(activityToStart)
)将是x.y.z.A
。ubby3x7f2#
一个更好的方法(一个在系统中使用来启动Browser.apk沿着其他未与AOSP捆绑的应用程序):
或者,如果您想检查是否可以从命令行启动
Activity
,可以从shell执行类似以下的操作:pgky5nke3#
我不知道解决方案,但我有一个替代方案。。类似于div在网页中隐藏和显示的方式。
如果你的s1s1是要载入低内容有他们在一个线性布局和保持他们的可见性去载入表格s1.当你点击s1到达s1s1隐藏s1和设置可见性的参数为“可见”.
通过这样做,您可以避免创建单独的Activity,而且这种方式也很容易向后导航。
zlhcx6iw4#
使用枚举!
然后在你的代码中