多个活动具有相同的onCreateOptionsMenu,onOptionsItemSelected和onKeyDown。当我实施更改时,我必须在每个活动(工作时间*活动计数)中执行此操作。有没有办法重用代码(例如在一个地方写下所有三种方法,并在每个活动中放下对它的引用)?
答案 0 :(得分:12)
当然,只需创建您自己的所有类继承的Activity
类。
有点像这样 - 创建一个继承自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
}
答案 1 :(得分:7)
当然,创建一个基本活动并在那里编写代码。
public class MenuActivity extends Activity {
// Menu stuff goes here
}
然后从那里扩展你的单独活动。
public class MyActivity1 extends MenuActivity { ... }
public class MyActivity2 extends MenuActivity { ... }
public class MyActivity3 extends MenuActivity { ... }