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 の 2 つのファイルを含むライブラリが必要です。

次に、Build Path を使用してこのライブラリを追加したい...

としてアプリケーションを起動します

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 に答える