为了账号安全,请及时绑定邮箱和手机立即绑定

Android 扩展 MainActivity

Android 扩展 MainActivity

绝地无双 2021-08-25 10:00:00
我有一个 MainActivity 类,它有一些菜单代码,其他类通过在每个类上扩展 MainActivity 来继承这些代码,我的问题是,如果我在 MainActivity 的 onCreate 和我的其他类之一(例如:Act_02)我扩展了 MainActivity,但不希望 toast(来自 MainActivity)在 Act_02(扩展 MainActivity)上执行,如何在不删除 extends MainActivity 的情况下实现这一点?
查看完整描述

3 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

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


proteted boolean showToastMessage = true;

然后,在 onCreate() 中,将吐司行包裹在 if 中:


if(showToastMessage){

    <put the toast line here>

}

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


public MyNewClass extends MainActivity{

    showToastMessage = false;

}

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


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


查看完整回答
反对 回复 2021-08-25
?
萧十郎

TA贡献1815条经验 获得超13个赞

您可以将显示吐司的代码放在 的函数中,MainActivity并在Act_02.


public class MainActivity {


  public void onCreate() {

    super.onCreate();


    displayInformation();

  }


  public void displayInformation() {

    // your Toast

    Toast.makeText(...);

  }

}


public class Act_02 extends MainActivity {


  @Override

  public void displayInformation() {

    // display something else

  }

}


查看完整回答
反对 回复 2021-08-25
  • 3 回答
  • 0 关注
  • 178 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信