我有一个变量:
String MyClass = "MyClass"
我想在这里使用它:
Intent intent = new Intent(this, MyClass.class);
startActivity(intent);
或:
Intent intent = new Intent(this, MyClass.ToString().class);
startActivity(intent);
它不起作用...如何将 MyClass
的值传递给 Intent 构造函数?
最佳答案
首先,Java 的命名约定是变量应以小写字母开头,类应以大写字母开头。这会使您的代码变得困惑,因为看起来您正在指定一个类,但实际上您没有。
事实上,正确的答案是使用 Class.forName()
将您的 String 更改为 Class 对象:
Class<?> newActivityClass = Class.forName(myPackage + "." + myClass);
startActivity(new Intent (this, newActivityClass));
有些异常需要您适本地捕获和处理。
关于java - 如何使用变量来启动新的 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15688355/