Android-启动意图问题

Android-启动意图问题,android,android-activity,android-intent,classnotfoundexception,Android,Android Activity,Android Intent,Classnotfoundexception,当我想开始新的活动时,我使用以下代码: Intent myIntent1 = new Intent(this, Info1.class); startActivity(myIntent1); 但是,在这种情况下,我从字符串数组中获取类名呢?我尝试过类似以下的class.forName方法: Intent intent = new Intent(this, Class.forName(array[1])); startActivity(intent); 但是没有成功。这给了我错误的认识 jav

当我想开始新的活动时,我使用以下代码:

Intent myIntent1 = new Intent(this, Info1.class);
startActivity(myIntent1);
但是,在这种情况下,我从字符串数组中获取类名呢?我尝试过类似以下的class.forName方法:

Intent intent = new Intent(this, Class.forName(array[1]));
startActivity(intent);
但是没有成功。这给了我错误的认识

java.lang.ClassNotFoundException:加载程序中的Info1 dalvik.system.PathClassLoader

即使在第一种情况下,它成功地启动了一项活动。我必须补充一点,我100%确信数组[1]包含字符串“Info1”,并且我的包中有Info1.class

你知道如何解决这个问题吗?

试试以下方法:

Class clazz = Thread.currentThread().getContextClassLoader().findClass(array[1]);
new Intent(this, clazz);
方法

Class.forName("xxxxx");
需要完全限定名,这意味着您应该提供名称以及包详细信息(类存在于哪个包中)

例如

Class.forName("com.mypackage.MyClass");

您需要将完整的包名添加到class.forName参数中,比如ple而不是数组[1]