iam*_*rog 4 java string android class
我试图根据一些用户输入在一个Activity之间移动.
我正在尝试使用:
String myClass = "some_user_input.class"
Intent myIntent = new Intent(getApplicationContext(), myClass);
startActivity(myIntent);
Run Code Online (Sandbox Code Playgroud)
......从一项活动转移到另一项活动.
我可以这样做,我直接在硬代码中引用我的新活动,不要尝试从文本中编译它(即classA.class),但是我想通过传递一些字符串编译来构建我的Intent由用户.
例如,如果用户在编辑文本中输入B,我想转到classB.class
如果用户输入Z,我想去classZ.class.
有没有什么办法可以编译我想要使用字符串的类,然后我转换为类?
提前致谢!
反射机制允许您这样做:
String myClass = "some_user_input";
Class<?> clazz = Class.forName(myClass);
Intent myIntent = new Intent(getApplicationContext(), clazz);
Run Code Online (Sandbox Code Playgroud)
请注意,这些类应包含在android清单XML中.
还要注意我在这个例子中没有处理异常:)