基于字符串启动意图

时间:2015-06-25 04:06:06

标签: java android

是否可以根据字符串获取类名。例如

String activityName = "Activity";
Intent i  = new Intent(context, ...);

如何转换字符串以调用活动类,如

Intent i = new Intent(context, Activity.class);

2 个答案:

答案 0 :(得分:1)

这很有可能。首先,您必须使用activity的全名而不是文件名,例如com.package.Activity

String className = "com.package.Activity";

然后您可以使用该名称创建Class,如下所示:

Class<?> myClass = Class.forName(className);

只需创建此Class的新实例,然后将其投放到Activity

Activity myActivity = (Activity) myClass.newInstance();

答案 1 :(得分:0)

试试这个

String activityName ="com.project.net.Activity";// provide the class name with domain 
Intent i= new Intent( context, Class.forName(activityName));
startActivity(i);