1

Android アプリのオプション メニューの作成について学習しています。

ガイドには、メニューで DRY を維持するための次のヒントがあります。

ヒント: アプリケーションに複数のアクティビティが含まれており、それらのいくつかが同じオプション メニューを提供する場合は、onCreateOptionsMenu() メソッドと onOptionsItemSelected() メソッド以外は何も実装しないアクティビティを作成することを検討してください。次に、同じオプション メニューを共有するアクティビティごとにこのクラスを拡張します。この方法では、メニュー アクションを処理するためのコード セットを 1 つだけ管理する必要があり、各子孫クラスはメニューの動作を継承します。

これには問題があるようです。同じオプションを共有する必要があるActivitys が異なるクラスから継承する場合、何から継承する必要がありますOptionsMenuActivityか? Java は多重継承をサポートしていないと読みましたが、どうすればこれを回避できますか?

4

1 に答える 1

3

オプション メニューのコードを含むアクティビティは、Activity クラスを拡張する必要があります。

public class YourRootActivity extends Activity {

// Any other stuff that you want for all activities

 public boolean onCreateOptionsMenu(Menu menu){
 // your main options menu
 }
}

このメニューが必要なクラスについては、上で作成したアクティビティを拡張します。

class Activity1 extends YourRootActivity {
}

サブクラスのオプション メニューを少し変更する場合は、それらのクラスの onCreateOptionsMenu メソッドを上書きできます。

于 2011-06-11T05:16:46.907 に答える