I'm trying to move between one Activity to another based upon some user input.
I'm trying to use:
String myClass = "some_user_input.class"
Intent myIntent = new Intent(getApplicationContext(), myClass);
startActivity(myIntent);
...to move from one activity to another.
I can do this ok where I reference my new activity directly in the hard code and don't try to compile it from text, (i.e. classA.class), however I want to be able to build my Intent by passing it some string compiled by the user.
For example if the user inputs B in an edittext, I want to go to classB.class
If the user inputs Z, I want to go to classZ.class
.
Is there any way I can compile the class I want to go to using strings which I then convert to a class?
Thanks in advance!
This is my solution using
Class.forName()
method:The reflection mechanism allows you to do it:
Note that those classes should be included in the android manifest XML.
Also note that I didn't handle the exception in this example :)