调用位于jar中的活动

时间:2010-04-30 09:55:10

标签: android

我试图从我的主要活动中调用另一个活动,该活动位于一个jar文件中。

  

Class clazz =   Class.forName(getPackageName()+“。”+   getActivityName()); startActivity(新   意图(这,clazz));

我这样做是因为我只知道班级的名字。这很好,但不幸的是,从jar文件加载活动时找不到所有资源文件。在第一次出现加载res文件时,有一个ResourceNotFoundException

  

04-30 11:18:46.944:   ERROR / AndroidRuntime(1749):引起:   android.content.res.Resources $ NotFoundException:   资源ID#0x7f040006

有任何提示吗?

1 个答案:

答案 0 :(得分:3)

您的JAR无法引用资源。

更具体一点:

  • 您的JAR不能包含资源
  • 您在JAR中的Java代码无法使用R.layoutR.idR.drawable或任何R.常量来引用资源

您需要在应用程序中拥有重用JAR的所有资源,并且您的JAR的Java代码需要将资源ID传递给它(例如,通过方法参数)或使用getIdentifier()来查找在运行时从名称的String表示中输出资源ID。