1

プロジェクトのすべてのアクティビティでオプション メニューを使用したいと考えています。

そこで、Activity を継承する OptionsMenuActivity を作成しました。

私が作成した各アクティビティは、それを継承しています。

問題は、PreferenceActivity を継承する MyPreferenceActivity を作成するときに使用できないことです。

それを行う最良の方法は何ですか?

4

1 に答える 1

1

onCreateOptionsMenu() および onOptionsItemSelected() メソッドを配置する場所を探しているだけの場合は、これら 2 つのメソッドを使用して別のクラスを作成し、そのクラスのインスタンスをすべてのアクティビティのメンバーにして、これら 2 つを作成します。メソッドはアクティビティのメソッドを「パススルー」し、現在リクエストを処理するメンバー オブジェクトに従います。

新しいクラスは、その仕事をするために Activity から継承する必要はありません。ただし、onOptionsItemSelected() メソッドは、実際にリクエストを処理したかどうかについて何らかの指示を返さなければならない場合があるため、Activity のメソッドは必要に応じて「super.onOptionsItemSelected()」を呼び出すことができます。

于 2012-08-31T00:38:00.453 に答える