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

Ind*_*õue 7 android android-activity

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

Dav*_*ave 12

当然,只需创建自己的Activity类,所有类都继承自己的类.

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

public abstract class MyBaseActivity extends Activity {
    public Menu onCreateOptionsMenu(Menu menu) {
        /* do common menu stuff */
    }
}
Run Code Online (Sandbox Code Playgroud)

然后让您的个人活动继承自您的基类:

public class MyActivity extends MyBaseActivity {
    // inherits behaviour from MyBaseActivity
    // so don't need to re-implement onCreateOptionsMenu
}
Run Code Online (Sandbox Code Playgroud)


小智 7

当然,创建一个基本活动并在那里编写代码.

public class MenuActivity extends Activity {
     // Menu stuff goes here
}
Run Code Online (Sandbox Code Playgroud)

然后从那里扩展你的单独活动.

public class MyActivity1 extends MenuActivity { ... }
public class MyActivity2 extends MenuActivity { ... }
public class MyActivity3 extends MenuActivity { ... }
Run Code Online (Sandbox Code Playgroud)