各アクティビティに独自のメニュー項目に加えて必要な基本メニュー項目を定義するスーパークラス アクティビティが必要です。
これまでの私のコードは次のとおりです。
public abstract class SuperActivity extends FragmentActivity {
protected List<TextView> textView = new ArrayList<TextView>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getContentResource());
setTextViews(textView);
}
protected abstract void setTextViews(List<TextView> textViews);
protected abstract int getContentResource();
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.menuitemsforallsubclasses, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.basicmenuitem1:
allSubclassActivitiesCanDoThis()
return true;
case R.id.basicmenuitem2:
allSubclassActivitiesCanDoThis2()
return true;
}
}
}
サブクラスでは、onCreateOptionsMenu (追加のレイアウト ファイル) と onOptionsItemSelected に何かを追加するだけですが、それは正しいですか? ここで間違った方向に進んでいないことを確認したいだけです。同じアクティビティで複数のレイアウト ファイルをロードすることさえ可能でしょうか?
参考までに: なぜ私がアクティビティに TextView 配列を持っているのか疑問に思っている場合: これに加えて、各サブクラス アクティビティのすべての TextView を ArrayList に入れたいので、それらすべてにリスナーを自動的に追加していつわかるようにしますか?アクティビティで何かが変更された、または他のきちんとしたことを行うために。
私がしていることは可能ですか?複数のメニュー レイアウト ファイルを読み込むことはできますか?