我对Android(Java)开发完全陌生,我对它感到非常兴奋!谷歌的开发者指南非常棒,我在很短的时间内学到了很多东西。它甚至让我在夜间保持清醒;)
今天我经历了制作菜单,有一些我无法理解的东西。这是关于扩展课程。指南说:
提示:如果您的应用程序包含多个活动及其中一些活动 提供相同的选项菜单,考虑创建一个活动 除了onCreateOptionsMenu()和之外什么都不做 onOptionsItemSelected()方法。然后为每个扩展此类 应共享相同选项菜单的活动。这样,你有 仅管理一组用于处理菜单操作和每个操作的代码 后代类继承了菜单行为。
我没有得到的是如何扩展课程......假设我有 MainActivity 和 SubActivity 。我想在两个活动中都有相同的菜单,所以我做了一个 MainMenuActivity 。如何为这两个活动扩展此类?
是的我在网上搜索但找不到任何可用的。我真的很想了解它,所以我希望任何人都可以帮我解决一些样本代码+解释。提前谢谢!!
答案 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.
}