多个活动,相同onCreateOptionsMenu,onOptionsItemSelected和onKeyDown。我可以以某种方式重用代码吗?

时间:2011-08-26 12:20:09

标签: android android-activity

多个活动具有相同的onCreateOptionsMenu,onOptionsItemSelected和onKeyDown。当我实施更改时,我必须在每个活动(工作时间*活动计数)中执行此操作。有没有办法重用代码(例如在一个地方写下所有三种方法,并在每个活动中放下对它的引用)?

2 个答案:

答案 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 { ... }