我有一个变量:
String MyClass = "MyClass"
我想在这里使用它:
Intent intent = new Intent(this, MyClass.class);
startActivity(intent);
或:
Intent intent = new Intent(this, MyClass.ToString().class);
startActivity(intent);
并且它不起作用...如何将MyClass
的值传递给Intent构造函数?
答案 0 :(得分:4)
首先,Java命名约定是变量应该以小写字母开头,而类是大写的。这会让您的代码感到困惑,因为它看起来像是在指定一个类,但您不是。
事实上,正确的答案是使用Class.forName()
:
Class<?> newActivityClass = Class.forName(myPackage + "." + myClass);
startActivity(new Intent (this, newActivityClass));
您将需要捕捉并妥善处理。