扩展活动类

Mar*_*jnG 10 android class extending android-activity

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

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

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

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

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

nha*_*man 18

他们的意思如下:

通常你会:

public class MyActivity extends Activity{...}
Run Code Online (Sandbox Code Playgroud)

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

public class BaseActivity extends Activity{

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //My menu code  
    }
}
Run Code Online (Sandbox Code Playgroud)

并使用此课程为您的4-5-6 ...活动:

public class MyActivity extends BaseActivity{...}
Run Code Online (Sandbox Code Playgroud)

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


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


kas*_*rch 10

这真的很简单.

MainMenuActivity

public class MainMenuActivity extends Activity {
   //Override or add whatever functionality you want other classes to inherit.
}
Run Code Online (Sandbox Code Playgroud)

主要活动

public class MainActivity extends MainMenuActivity {
   //Add what is specific to MainActivity. The menu will be inherited from MainMenuActivity.
}
Run Code Online (Sandbox Code Playgroud)

子活动

public class SubActivity extends MainMenuActivity {
   //Add what is specific to SubActivity. The menu will be inherited from MainMenuActivity.
}
Run Code Online (Sandbox Code Playgroud)