2

我想要一个超类活动,它定义每个活动除了自己的之外还应该有哪些基本菜单项。

到目前为止,这是我的代码:

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 中,这样我就可以自动将侦听器添加到所有这些活动中,以便我知道何时活动中发生了一些变化或做一些其他整洁的事情。

我正在做的事情可能吗?是否可以加载多个菜单布局文件?

4

0 回答 0