【问题标题】:forName does not find classforName 找不到类
【发布时间】:2011-04-25 20:43:57
【问题描述】:

我希望以下两个分配都是有效的,但第二个会引发类未找到异常。有任何想法吗?

missionIntent = new Intent(this, Mission00.class);
/*DEBUG*/Log.d(this.getClass().getName(), "Checking Mission00 by class");

missionIntent = new Intent(this, Class.forName("Mission00"));
/*DEBUG*/Log.d(this.getClass().getName(), "Checking Mission00 by string");

我也尝试过 Class.forName("Mission00.class") 但这也不起作用

【问题讨论】:

  • 尝试使用它之前的包限定的“Mission00”:“com.package.something.Mission00”。
  • 是的,这行得通。我怎样才能找到前缀? this.getClass().getName() 返回“com.package.something.currentClass”,我可以在不进行字符串操作的情况下找到前缀吗?请张贴作为答案,以便我可以给你一些积分!

标签: android class


【解决方案1】:

使用完全限定的类名,包括包。

【讨论】:

    【解决方案2】:

    尝试使用它之前的包限定的“Mission00”:“com.package.something.Mission00”。由于您已经有了类名,因此您应该有包名,但您可以使用 this.getClass.getPackage() 来获取前缀,正如您之前要求的那样。

    【讨论】:

    • 为帮助干杯。实际上我使用了 this.getPackageName(),但您的回答(以及您的第一条评论)为我指明了方向!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多