1

我有一个变量:

String MyClass = "MyClass"

我想在这里使用它:

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

或者:

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

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

4

1 回答 1

4

首先,Java 命名约定是变量应该以小写字母开头,类以大写字母开头。这会使您的代码混乱,因为看起来您正在指定一个类,但实际上并非如此。

事实上,正确的答案是使用以下方法将您的 String 更改为 Class 对象Class.forName()

Class<?> newActivityClass = Class.forName(myPackage + "." + myClass);
startActivity(new Intent (this, newActivityClass));

您将需要适当地捕获和处理例外情况。

于 2013-03-28T17:35:35.193 回答