我使用MainActivity
扩展BaseActivity
。
该应用程序使用BottomSheet和导航抽屉等。
MainActivity处理BottomSheet的状态,抽屉由BaseActivity
处理,因为我也在其他活动中使用它。
现在的问题是:我想在用户从抽屉中选择一个项目时隐藏BottomSheet,这显然只是onNavigationItemSelected
回调中的一个电话。我如何从MainActivity
通知底部表单状态已更改的变量?
更准确地说,如何从MainActivity
更改BaseActivity
的变量?
答案 0 :(得分:1)
如果您想在MainActivity中自定义处理Click,只需覆盖Method,添加与原始代码不同的处理,如果您仍希望执行其余操作,请调用super.handleClick()或其他任何调用
对我来说似乎是最干净的方法。
答案 1 :(得分:0)
您可以在BaseActivity中创建一个处理程序,然后sendMessage在MainActivity中处理它的消息。
或者同样的逻辑,您可以使用唯一操作发送广播,并在MainActivity中注册broadcastReceiver以处理该操作。
或者如果您的案例更具体,那么只需在BaseActivity中创建一个方法并在MainActivity中覆盖以执行您需要执行的操作。
答案 2 :(得分:0)
要从基类访问变量,它们应该是公共/受保护的,然后您可以使用super.var_name或只是var_name访问它们。