質問

AndroidアクティビティとAndroidmanifest.xmlに関するこの質問を受けています。質問は、Javaサーブレットを使用していたときに発生し、「モジュールベース」またはプラグインベースのサーバーに似たものを作成したいと考えました。これは正常に機能しています。 ServletConfig に動的にサーブレットを追加します。サーブレットは動的に見つけられ、サーバーの起動中にマッピングされます。

ここでの質問は、適切な活動を見つける方法、またはそれらの新しいインスタンスを作成する方法、またはそれらの開始方法、その部分Iが考え出しました。私は私のパッケージを繰り返し、適切なアクティビティクラスを見つけ、それらの新しいインスタンスを作成してリストに追加することができます。

私は、有効な活動になるためにすべての活動を実装しなければならないinterfaceを使用しています。そのようにして、私は私のアプリケーションのための新しい部品、広範囲、または新機能を作成することができ、すべてがうまくいくことができます。私のアプリケーションでは、ユーザーがクリックできるボタンのリストがあり、ListViewを使用してそれらをマイビューに追加することによってボタンリストが生成されます。

private void displayLoadedContent() {
    View v = inflateLayout(R.layout.buttonlayout);
    ListView view = (ListView) v.findViewById(R.id.list);
    view.setAdapter(new ListButtonAdapter(this, content));
}
.

contentとして宣言されている場合

List<MyActivityInterface> content;
.

ListButtonAdapterBaseAdapterを拡張します。

だから問題ありません。問題は私がAndroidmanifest.xmlの私のアクティビティのそれぞれを宣言しなければならないことです。そのファイルは、展示する可能性のある功績の大きなリスト、そして厄介なもののようなものですので、ここでコードを表示するつもりはありません。

私はマニフェストに1つの活動を追加しなければならないことに気づいていますが、私は1つの活動が十分であるべきであることを望んでいました。私のアプローチは多くの点でフロントコントローラパターン、各活動が彼らが必要とする認可率のロードと表示を担当します。

マニフェストで活動を動的に登録することさえ可能な限り尋ねるだけであれば(または別の方法で実行することができます)、そしていない場合は他の有効な解決策はありますか?

役に立ちましたか?

解決

Androidには、各アクティビティがAndroidManifest.xmlファイルに登録されるようにする必要があります。デプロイされると、アプリは.apkファイルとしてデバイス上に住んでいます。これは変更できません(更新/新しいAPKに置き換えられるのを除く)。

私が質問を正しく理解した場合は、マニフェストファイルで多数のアクティビティを一覧表示する必要はありませんか?フラグメントマニフェストファイルに登録する必要はないため、目標なら答えになるでしょうUIコンポーネントを動的に交換することです。フラグメントは、サポートライブラリを介して1.6に戻ります。P>

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top