我设置了我的 xml,以便每个类都包含相同的菜单栏。我必须复制每个使用菜单栏的类中的按钮 onClick 调用的每个方法。有没有解决的办法?我试图扩展另一个类,但每个类都已经扩展了活动,你不能在 Android 中扩展多个类。
示例:菜单栏有按钮 doStuff。A 类包括菜单栏。A 类实现 doStuff。B类包括菜单栏。B 类实现 doStuff。
他们都以完全相同的方式实现相同的方法。有没有办法一次定义这些方法(如 doStuff)并让每个按钮调用该方法?
我设置了我的 xml,以便每个类都包含相同的菜单栏。我必须复制每个使用菜单栏的类中的按钮 onClick 调用的每个方法。有没有解决的办法?我试图扩展另一个类,但每个类都已经扩展了活动,你不能在 Android 中扩展多个类。
示例:菜单栏有按钮 doStuff。A 类包括菜单栏。A 类实现 doStuff。B类包括菜单栏。B 类实现 doStuff。
他们都以完全相同的方式实现相同的方法。有没有办法一次定义这些方法(如 doStuff)并让每个按钮调用该方法?
我的解决方案是让每个按钮调用一个方法。这在所有使用按钮的类中都重复了。然后将这些单独的方法称为中央方法,以便可以从一个位置更改代码,而不必重复更改。
示例:菜单栏有按钮 doStuff。A 类包括菜单栏。A 类实现 doStuff。B类包括菜单栏。B 类实现 doStuff。
解决方案:菜单栏有按钮doStuff。A 类包括菜单栏。A 类实现将调用引用到中心类的处理程序。B类包括菜单栏。B 类实现处理程序。
您可以创建另一个实现doStuff()
方法的类,然后只为每个类中的按钮设置侦听器。您将始终必须通过调用setOnClickListener()
(或在 XML 文件中,但我不知道您是否可以调用另一个类方法)来设置侦听器。如果您需要类中的一些视图,则可以将它们作为参数传递。