我想要一个超类活动,它定义每个活动除了自己的之外还应该有哪些基本菜单项。
到目前为止,这是我的代码:
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 中,这样我就可以自动将侦听器添加到所有这些活动中,以便我知道何时活动中发生了一些变化或做一些其他整洁的事情。
我正在做的事情可能吗?是否可以加载多个菜单布局文件?