如何使用变量来启动新意图

时间:2013-03-28 17:28:27

标签: java android android-intent

我有一个变量:

String MyClass = "MyClass"

我想在这里使用它:

Intent intent = new Intent(this, MyClass.class);
startActivity(intent);

或:

Intent intent = new Intent(this, MyClass.ToString().class);
startActivity(intent);

并且它不起作用...如何将MyClass的值传递给Intent构造函数?

1 个答案:

答案 0 :(得分:4)

首先,Java命名约定是变量应该以小写字母开头,而类是大写的。这会让您的代码感到困惑,因为它看起来像是在指定一个类,但您不是。

事实上,正确的答案是使用Class.forName()

将String更改为Class对象
Class<?> newActivityClass = Class.forName(myPackage + "." + myClass);
startActivity(new Intent (this, newActivityClass));

您将需要捕捉并妥善处理。