Android 多个活动,相同的OnCreateOptions菜单、OnOptions ItemSelected和onKeyDown。我能以某种方式重用代码吗?
多个活动具有相同的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 {
活动
类,所有类都从该类继承
有点像这样-创建一个从活动
继承并实现常见行为的抽象基类:
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在这里给出了更好的答案(更多细节),所以接受他的回答