android使用class.forName的意图

时间:2012-01-05 15:48:20

标签: java android android-intent

我有一个ArrayList中类的String名称。

如果我试图像这样调用Intent:

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();
}

为什么会这样?

1 个答案:

答案 0 :(得分:3)

我认为config.getTests(....)应该使用包来命名,例如com.xyz.MultipleChoice。您可以先尝试在Class.forName(..)中对此进行硬编码。如果它有效,那么您可以找到从config.getTest(....)

获取它的方法