質問

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

の中に ガイド メニューで乾燥したままにするための次のヒントがあります。

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

これは問題があるようです。場合 Activity同じオプションを共有する必要があるs異なるクラスから継承する、私のものはどうすべきですか OptionsMenuActivity 継承しますか? Javaは多発性相続をサポートしていないことを読んだので、どのようにこれを回避しますか?

役に立ちましたか?

解決

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

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メソッドを上書きすることができます。

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