Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 多个活动,相同的OnCreateOptions菜单、OnOptions ItemSelected和onKeyDown。我能以某种方式重用代码吗?_Android_Android Activity - Fatal编程技术网

Android 多个活动,相同的OnCreateOptions菜单、OnOptions ItemSelected和onKeyDown。我能以某种方式重用代码吗?

Android 多个活动,相同的OnCreateOptions菜单、OnOptions ItemSelected和onKeyDown。我能以某种方式重用代码吗?,android,android-activity,Android,Android Activity,多个活动具有相同的OnCreateOptions菜单、OnOptions ItemSelected和onKeyDown。当我实施一项变更时,我必须在每项活动(工作时间*活动计数)中进行变更。是否有方法重用代码(例如,在一个位置编写所有三个方法,并在每个活动中对其进行引用)?当然,只需创建您自己的活动类,所有类都从该类继承 有点像这样-创建一个从活动继承并实现常见行为的抽象基类: public abstract class MyBaseActivity extends Activity {

多个活动具有相同的OnCreateOptions菜单、OnOptions ItemSelected和onKeyDown。当我实施一项变更时,我必须在每项活动(工作时间*活动计数)中进行变更。是否有方法重用代码(例如,在一个位置编写所有三个方法,并在每个活动中对其进行引用)?

当然,只需创建您自己的
活动
类,所有类都从该类继承

有点像这样-创建一个从
活动
继承并实现常见行为的抽象基类:

public abstract class MyBaseActivity extends Activity {
    public Menu onCreateOptionsMenu(Menu menu) {
        /* do common menu stuff */
    }
}
然后使您的单个活动从基类继承:

public class MyActivity extends MyBaseActivity {
    // inherits behaviour from MyBaseActivity
    // so don't need to re-implement onCreateOptionsMenu
}

当然,创建一个基本活动并在其中编写代码

public class MenuActivity extends Activity {
     // Menu stuff goes here
}
然后扩展你的独立活动

public class MyActivity1 extends MenuActivity { ... }
public class MyActivity2 extends MenuActivity { ... }
public class MyActivity3 extends MenuActivity { ... }

当然,谢谢!两个答案都是正确的,都是在准确的时间写的,所以我将批准你的答案为正确答案(声誉低于@alextsc),并向上投票alextsc答案。我不能接受两个答案为正确答案,所以我将向上投票你的答案。没问题,我们同时发布。我认为Dave在这里给出了更好的答案(更多细节),所以接受他的回答