首页 > 解决方案 > Android 扩展 MainActivity

问题描述

我有一个 MainActivity 类,它有一些菜单代码,其他类通过在每个类上扩展 MainActivity 继承,我的问题是,如果我在 MainActivity 的 onCreate 和我的其他类之一(例如:Act_02)我扩展了MainActivity,但不希望toast(来自MainActivity)在Act_02(扩展MainActivity)上执行,如何在不删除扩展MainActivity的情况下实现这一点?

标签: javaandroid

解决方案


如果您可以更改 的代码MainActivity,则可以添加受保护的布尔属性showToastMessage并将其设置为 true(这将是默认值)。

proteted boolean showToastMessage = true;

然后,在 onCreate() 中,将 toast 行包装在 if 中:

if(showToastMessage){
    <put the toast line here>
}

在您不希望显示 toast 的类中,您showToastMessage在构造函数中设置为 false。

public MyNewClass extends MainActivity{
    showToastMessage = false;
}

其他扩展 MainActivity 的类将默认标志为true.

super.onCreate()并且所有类都可以按预期调用任何超级初始化。


推荐阅读