質問
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メソッドを上書きすることができます。
所属していません StackOverflow