从BaseActivity更改MainActivity的变量

时间:2016-05-17 14:03:16

标签: android

我使用MainActivity扩展BaseActivity。 该应用程序使用BottomSheet和导航抽屉等。

MainActivity处理BottomSheet的状态,抽屉由BaseActivity处理,因为我也在其他活动中使用它。

现在的问题是:我想在用户从抽屉中选择一个项目时隐藏BottomSheet,这显然只是onNavigationItemSelected回调中的一个电话。我如何从MainActivity通知底部表单状态已更改的变量?

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

3 个答案:

答案 0 :(得分:1)

如果您想在MainActivity中自定义处理Click,只需覆盖Method,添加与原始代码不同的处理,如果您仍希望执行其余操作,请调用super.handleClick()或其他任何调用

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

答案 1 :(得分:0)

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

或者同样的逻辑,您可以使用唯一操作发送广播,并在MainActivity中注册broadcastReceiver以处理该操作。

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

答案 2 :(得分:0)

要从基类访问变量,它们应该是公共/受保护的,然后您可以使用super.var_name或只是var_name访问它们。