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れ、パッケージ 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 に答える