将字符串转换为类

我试图根据一些用户输入在一个Activity之间移动。

我正在尝试使用:

String myClass = "some_user_input.class" Intent myIntent = new Intent(getApplicationContext(), myClass); startActivity(myIntent); 

……从一项活动转移到另一项活动。

我可以这样做,我直接在硬代码中引用我的新活动,不要尝试从文本中编译它(即classA.class),但是我想通过传递一些字符串编译来构建我的Intent由用户。

例如,如果用户在edittext中输入B,我想转到classB.class如果用户输入Z,我想转到classZ.class

有没有什么方法可以编译我想要使用字符串的类,然后我转换为类?

提前致谢!

reflection机制允许您这样做:

 String myClass = "some_user_input"; Class clazz = Class.forName(myClass); Intent myIntent = new Intent(getApplicationContext(), clazz); 

请注意,这些类应包含在android清单XML中。

还要注意我在这个例子中没有处理exception:)

这是我使用Class.forName()方法的解决方案:

 String myClass = "foo.class"; Intent i = new Intent(getApplicationContext(), Class.forName(myClass)); startActivity(i);