猿问

Android 扩展 MainActivity

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


绝地无双
浏览 179回答 3
3回答

慕码人2483693

如果可以更改 的代码MainActivity,则可以添加受保护的布尔属性showToastMessage并将其设置为 true(这将是默认值)。proteted boolean showToastMessage = true;然后,在 onCreate() 中,将吐司行包裹在 if 中:if(showToastMessage){&nbsp; &nbsp; <put the toast line here>}在您不希望显示吐司的类中,您showToastMessage在构造函数中设置为 false。public MyNewClass extends MainActivity{&nbsp; &nbsp; showToastMessage = false;}其他扩展 MainActivity 的类会将标志默认为true。并且所有类都可以super.onCreate()按预期调用任何超级初始化。

萧十郎

您可以将显示吐司的代码放在 的函数中,MainActivity并在Act_02.public class MainActivity {&nbsp; public void onCreate() {&nbsp; &nbsp; super.onCreate();&nbsp; &nbsp; displayInformation();&nbsp; }&nbsp; public void displayInformation() {&nbsp; &nbsp; // your Toast&nbsp; &nbsp; Toast.makeText(...);&nbsp; }}public class Act_02 extends MainActivity {&nbsp; @Override&nbsp; public void displayInformation() {&nbsp; &nbsp; // display something else&nbsp; }}
随时随地看视频慕课网APP

相关分类

Java
我要回答