0
私はクラスのString名をArrayListに持っています。androidはclass.forNameでインテントを使用します
私はこのような意思呼び出そう:
Intent intent = new Intent(context, MultipleChoice.class);
context.startActivity(intent);
それは問題なく動作しますが、私はこのようにそれを行うにしたいとき、私はClassFoundException
を取得します。 config.getTests(config.getPage()))
で"MultipleChoice"
が返されます。
try {
Intent intent = new Intent(context, Class.forName(config.getTests(config.getPage())));
context.startActivity(intent);
context.finish();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
なぜこのようなのですか?
あなたが得るエラーは、ClassFoundExceptionではなくClassNotFoundExceptionです。 – kosa
私はconfig.getTests(....)は、com.xyz.MultipleChoiceのように、クラス名がパッケージであるべきだと思います。まず、Class.forName(..)でこれをハードコーディングしてみてください。それが動作すれば、あなたはconfig.getTest(....)からそれを得る方法を見つけることができます – kosa
bla.bla.bla.full.name.with.package.is.needed.MultipleChoice ...編集:ありがとうthinksteep ...あなたは最初だった:) – Selvin