【问题标题】:Extending class for activity拓展活动课
【发布时间】:2012-01-05 12:53:59
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 也检查this 就像你在说什么。

标签: android class android-activity extending


【解决方案1】:

它们的意思如下:

通常你会:

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 的含义。

【讨论】:

  • 非常感谢!!现在我明白了,这比我想象的要容易!
【解决方案2】:

其实很简单。

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.
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多