android - 多个 Activity ,相同的 onCreateOptionsMenu、onOptionsItemSelected 和 onKeyDown。我能以某种方式重用代码吗?

标签 android android-activity

多个 Activity 具有相同的 onCreateOptionsMenu、onOptionsItemSelected 和 onKeyDown。当我实现更改时,我必须在每项 Activity (工作时间 * Activity 计数)中都这样做。有没有一种方法可以重用代码(例如,将所有三种方法写在一个地方,并在每个 Activity 中都引用它)?

最佳答案

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

有点像这样——创建一个继承自 Activity 并实现通用行为的抽象基类:

public abstract class MyBaseActivity extends Activity {
    public Menu onCreateOptionsMenu(Menu menu) {
        /* do common menu stuff */
    }
}

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

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

关于android - 多个 Activity ,相同的 onCreateOptionsMenu、onOptionsItemSelected 和 onKeyDown。我能以某种方式重用代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7204540/

相关文章:

Android项目结构不正确;只有一个 build.gradle

java - AsyncTask 在一个简单的类中还是在 Activity 中?

java - 使用 fragment - NullPointerException

android - Activity 在 finish() 之后仍然继续;

android - 获取另一个 Activity 的值(value)放在另一个 Activity 的 ListView 的编辑文本中

android - 视频播放时调用显式 GC 导致帧丢失近 10% 以上

javascript - 错误代码1cordova插件文件传输android

android - 以编程方式在中间包含布局

android - Gradle 同步失败 : Could not find method android() for arguments on root project on android studio

java - 单元测试 Retrofit2 调用在模拟 Call<Void> 时给我一个 null