代码之家  ›  专栏  ›  技术社区  ›  anon

调用位于JAR中的活动

  •  2
  • anon  · 技术社区  · 14 年前

    我试图从位于JAR文件中的主活动调用另一个活动。

    类别Clasz= 类.forname(getPackageName()+“”。+ getActivityName());StartActivity(新建 意图(这,哗啦声));

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

    04-30 11:18:46.944: 错误/AndroidRuntime(1749):原因: android.content.res.resources$notfoundexception: 资源ID 0x7F040006

    有什么提示吗?

    1 回复  |  直到 12 年前
        1
  •  3
  •   CommonsWare    14 年前

    JAR无法引用资源。

    更具体地说:

    • JAR不能包含资源
    • jar中的Java代码不能使用 R.layout R.id R.drawable 或任何 R. 引用资源的常量

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