ローカルクラスを作ってClass.forName()でそのクラスを呼び出そうと思いましたがうまくいきませんでした。
クラスの関係はこのようになっています。
WordGeneratorはpublic staticの修飾子を持ってはいますが、れっきとしたActorのローカルクラス。
Actor └WordGenerator (Local class with "public static" modifier)
最初に試したコードは下記です。
getBlueprintManager() .add((Class)Class.forName("org.tapchain.core.Actor.WordGenerator"), "A", false)
java.lang.ClassNotFoundExceptionが出てきてうまくいきません。
でもこんなページがありました。
同じやん?
http://stackoverflow.com/questions/18291080/class-forname-android-noclassdeffounderror-classnotfoundexception
もしかして・・・
そして、うまくいったあコードは下記です。
getBlueprintManager() .add((Class)Class.forName("org.tapchain.core.Actor$WordGenerator"), "A", false)"$"で表すのですね。勉強になりました。
No comments:
Post a Comment