扩展活动类

时间:2011-11-24 10:33:36

标签: android class android-activity extending

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

今天我经历了制作菜单,有一些我无法理解的东西。这是关于扩展课程。指南说:

  

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

我没有得到的是如何扩展课程......假设我有 MainActivity SubActivity 。我想在两个活动中都有相同的菜单,所以我做了一个 MainMenuActivity 。如何为这两个活动扩展此类?

是的我在网上搜索但找不到任何可用的。我真的很想了解它,所以我希望任何人都可以帮我解决一些样本代码+解释。提前谢谢!!

2 个答案:

答案 0 :(得分:18)

他们的意思如下:

通常你会:

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


您还可以查看here,它解释了extends的含义。

答案 1 :(得分:10)

真的很简单。

<强> MainMenuActivity

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

<强> MainActivity

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.
}
相关问题