2016-05-17 37 views
0

我使用MainActivity,它扩展了BaseActivity。 该应用程序使用底部表格和导航抽屉等。从BaseActivity更改MainActivity的变量

MainActivity处理BottomSheet的状态,并且由于我在其他活动中也使用它来处理抽屉BaseActivity

现在的问题是:当用户从抽屉中选择一个项目时,我想要隐藏BottomSheet,这显然只是在onNavigationItemSelected回调中调用。我如何通知MainActivity bottomSheet状态发生变化的变量?

更确切地说,我如何从BaseActivity更改MainActivity的变量?

回答

1

如果您想要在您的MainActivity中定制处理Click,只需重写Method,添加与原始代码不同的处理,并且如果您仍希望执行其余处理,请调用super.handleClick()或任何它调用。

对我来说似乎是最干净的方法。

+0

完美!辉煌:)) – Mes

0

您可以在您的BaseActivity和sendMessage中创建一个处理程序,然后在MainActivity中处理其消息。

或者作为相同的逻辑,您可以发送一个独特的动作广播,并在MainActivity中注册一个broadcastReceiver来处理该动作。

或者如果您的案例更具体,那么只需在BaseActivity中创建一个方法并在MainActivity中重写以执行您需要执行的任何操作。

0

要从基类访问变量,它们应该是public/protected,然后可以使用super.var_name或var_name访问它们。