10

我对 Android (Java) 开发完全陌生,对此我感到非常兴奋!谷歌的开发者指南很棒,我在短时间内学到了很多东西。它甚至让我在夜间保持清醒;)

今天我做了菜单,有些东西我不明白。这是关于扩展类。指南说:

提示:如果您的应用程序包含多个活动并且其中一些提供相同的选项菜单,请考虑创建一个除了 onCreateOptionsMenu() 和 onOptionsItemSelected() 方法之外什么都不实现的活动。然后为应该共享相同选项菜单的每个活动扩展此类。这样,您只需管理一组代码来处理菜单操作,并且每个后代类都继承菜单行为。

我不明白的一点是如何扩展一个类......假设我有一个MainActivity和一个SubActivity。我想在两个活动中都有相同的菜单,所以我做了一个MainMenuActivity。我如何为这两个活动扩展这个类?

是的,我确实在网上搜索过,但找不到任何可用的。我真的很想理解它,所以我希望任何人都可以通过一些示例代码+解释来帮助我。先感谢您!!

4

2 回答 2

19

他们的意思如下:

通常你会有:

public class MyActivity extends Activity{...}

如果您有 4-5-6... 这些活动,并且每个活动都使用相同的菜单代码,您可以复制并粘贴代码 4-5-6.. 次。或者你可以这样做:

public class BaseActivity extends Activity{

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //My menu code  
    }
}

并将本课程用于您的 4-5-6... 活动:

public class MyActivity extends BaseActivity{...}

这样您就不需要将菜单创建代码复制到所有活动中,此外,您不必编辑 4-5-6... 类来编辑菜单的一小部分创建。菜单代码现在也在MyActivity.


你也可以看看这里,它解释了什么extends意思。

于 2011-11-24T10:39:09.353 回答
11

这真的很简单。

主菜单活动

public class MainMenuActivity extends Activity {
   //Override or add whatever functionality you want other classes to inherit.
}

主要活动

public class MainActivity extends MainMenuActivity {
   //Add what is specific to MainActivity. The menu will be inherited from MainMenuActivity.
}

子活动

public class SubActivity extends MainMenuActivity {
   //Add what is specific to SubActivity. The menu will be inherited from MainMenuActivity.
}
于 2011-11-24T10:43:18.617 回答