0

我有下一个问题:我想获得一个基于 android 项目的库,并在另一个项目中将其用作“外部”库

  1. 可能吗?

  2. 如果可能的话 - 我的主要问题:如何将资源添加到库中?Project Properties -> Android -> "As Library" 的方式只添加 .class-files!

我的情况:

public class ClassForLibrary extends Activity{

      onCreate(){
         setContentView(R.layout.library_activity_layout);
      }

      method1(){
      }

      method2(){
      }
}

所以,我想要一个包含两个文件的库:ClassForLibrary.class 和 library_activity_layout.xml

接下来我想使用构建路径添加这个库......

并启动应用程序

public class MainActivity extends ClassForLibrary {

    . . . . . . . . . . 

}

我尝试了很多代码结构,但最接近的情况是

Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030001.

#0x7f030001是我手动放入创建的库中的 library_activity_layout.xml。

有人可以帮我吗?

4

1 回答 1

1

您不能在另一个应用程序中访问私有库文件,除非库本身公开它们。在您的情况下,您的库需要创建一个函数,让应用程序用它自己的布局替换布局。就像是:

public class ClassForLibrary extends Activity{

  onCreate(){
     setContentView(R.layout.library_activity_layout);
  }

  public overrideContentView(ViewGroup root){
      .... replace root view with the one passed in....
  }

  method1(){
  }

  method2(){
  }
}
于 2013-09-24T13:59:29.017 回答