首页 > 解决方案 > 使功能(在活动中使用时执行相同功能的特定视图)在Android(Java)中通用

问题描述

我最近一直在思考,如何让我的代码更高效?我有一个浮动操作按钮,单击它会执行一项常见任务。我希望这个按钮出现在所有活动中。当按下这个 FAB 按钮时,它会打开一个圆形菜单(https://github.com/Ramotion/circle-menu-android) 其中我可以打开我点击的任何活动。我不想传递对另一个活动的任何引用,我只想开始那个活动。现在为了实现这一点,我目前所做的是声明 FAB 按钮并在我想使用此按钮的所有活动中一遍又一遍地编写相同的代码。我的问题是如何避免重复相同的代码让我的工作更容易完成。有没有办法可以全局声明一个函数并在所有活动中的 onclicklistener 方法中调用它?谢谢你

标签: javaandroidandroid-studioglobal-functions

解决方案


OnClickListener 是一个类。只需创建一个执行所需操作的子类,并将其实例传递给 setOnClickListener。

或者,如果您真的不想做任何其他事情,则将 FAB 子类化并覆盖其构造函数以使用执行您想要的侦听器设置 onClickListener。然后在您的 xml 中使用该子类而不是基本 FAB 类。


推荐阅读