4

我正在尝试将字符串转换为类名。我的代码是:

app.actNum = "third.class";
        in.close();
                //on test
                   //  Intent intent = new Intent(this.context,Class.forName(app.actNum));



Intent dialogIntent = new Intent(getBaseContext(), Class.forName(app.actNum));

但得到

  get ClassNotFoundException on Class.forName android
4

2 回答 2

31

调用时Class.forName(),您应该使用不带扩展名的类名。因此,如果您的被调用Test并且在package mypackage.tests中,那么您应该使用:

Class.forName("mypackage.tests.Test")
于 2012-06-23T11:06:03.067 回答
0

我认为你的路径有一些问题。

首先,尝试获取完整路径:

String completePath = PathForClass.class.getResource(app.actNum).toString();

然后,您所要做的就是像以前一样调用它:

 Class.forName(completePath.replace(".class","")

(如其他答案所述,您必须删除.class. )

于 2012-06-23T11:07:05.630 回答