1

私は、他の 2 つのプロジェクトに必要なすべての共通コードとリソースを含む Android ライブラリ プロジェクトを開発しました。問題は、共通ライブラリのクラスで、プロジェクト A またはプロジェクト B でそれぞれ使用される場合、別のリソースをロードする必要があることです。

R.string.myId と入力すると、リソースは CommonLib にないため見つかりませんが、プロジェクト A と B で定義されています。

この問題を解決するにはどうすればよいですか? このタイプのプロジェクトで一種の「ポリモーフィズム」を取得する正しい方法は何ですか? たぶん、共通ライブラリに次のようなコードを入れます

 if  (ctx.getPackageName().equals("packageName A")
 else if (ctx.getPackageName().equals("packageName B"))

前もって感謝します。

4

1 に答える 1

1

ライブラリプロジェクトにある種のスタブリソースを追加して、アプリケーションプロジェクトでそれらを「オーバーライド」することができます。または、リソースのデフォルト値をライブラリプロジェクトに追加し、必要に応じてこのリソースの一部をアプリケーションプロジェクトに追加することもできます。

于 2011-05-04T07:28:57.743 に答える